これもドキュントに書いてありますが,\pagestyle{fancy} より後で \headwidth を設定するというやり方でもうまく行きそうです(そもそも,fancyhdr.sty の中を見るよりも,ドキュメントを読むほうが先では?).
\documentclass[a4paper]{article}
\usepackage{fancyhdr}
\lhead{$\leftarrow$}
\rhead{$\rightarrow$}
\cfoot{\thepage}
\renewcommand{\headrulewidth}{0.4pt}
\pagestyle{fancy}
\setlength{\oddsidemargin}{-5.4mm}% 20mm - 1in
\setlength{\textwidth}{170mm}
\setlength{\headwidth}{\textwidth}
\begin{document}
\noindent This is a\hfill test.
\end{document}