Too much space before digit "1"

The problem is that the digits are usually set with the same width, thus alignments in tables look nicer this way. However, the digit 1 is rather slim, thus it has large side bearings:

\documentclass[12pt]{article}

\pagestyle{empty}
\setlength{\parindent}{0pt}
\setlength{\fboxsep}{0pt}
\setlength{\fboxrule}{.1pt}

\begin{document}
  \Huge
  \fbox{1}\\
  \fbox{2}
\end{document}

1 and 2 boxed

The distance between the left border and the start of the character (left side bearing) is much larger in case of 1 than for digit 2.

Finding the right fonts is the tricky part. The following example uses LuaLaTeX in order to use Latin Modern as OpenType font, where proportional numbers are available as font feature.

\documentclass[12pt]{article}
\usepackage{fontspec}


\begin{document}
\begingroup

  \noindent
  The article appears in vol.\ 16 of the encyclopedia. \\
  \fontspec[Numbers=Proportional]{Latin Modern Roman}%
  The article appears in vol.\ 16 of the encyclopedia.\\
  The article appears in vol.\ sixteen of the encyclopedia.

\endgroup

\begingroup

  \setlength{\fboxsep}{0pt}
  \setlength{\fboxrule}{.1pt}
  \Huge
  \noindent
  \fbox{1}\\
  \fontspec[Numbers=Proportional]{Latin Modern Roman}%
  \fbox{1}\\
  \fbox{2}

\endgroup
\end{document}

Result


If you're willing to insert a "hook" of sorts, the you can certainly pick up whether a period is followed by a number 1:

enter image description here

\documentclass[12pt]{article}
\makeatletter
\def~{\nobreakspace\@ifnextchar1{\kern-.2em}{}}
\makeatother
\begin{document}
\noindent
The article appears in vol.~16 of the encyclopedia. \\
The article appears in vol.~26 of the encyclopedia. \\
The article appears in vol.~sixteen of the encyclopedia.
\end{document}

The use of a tie keeps vol. and the subsequent numeral together, which is a good thing. For example, ending a line with vol. would lead the reader to believe that the sentence has ended prematurely, and could cause a lack of flow.