How to align words on one line to the words on the next without resorting to table
Perfect use of the tabto
package:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[table]{xcolor}
\usepackage{array,tabto}
\begin{document}
\begin{enumerate}
\item Tomas\tabto{1.5in}Thomas
\item Maine\tabto{1.5in}Main
\item Patty\tabto{1.5in}Patti
\item Roberts\tabto{1.5in}Robertson
\item Springfield\tabto{1.5in}Springvale
\item Nixon\tabto{1.5in}Dixon
\end{enumerate}
\end{document}
You can modify this to your needs
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[table]{xcolor}
\usepackage{array}
\newcommand{\abc}[1]{\makebox[5cm][l]{#1}}
\begin{document}
\begin{enumerate}
\item \abc{Tomas} +Thomas
\item \abc{Maine} +Main
\item \abc{Patty} +Patti
\item \abc{Roberts} +Robertson
\item \abc{Springfield} +Springvale
\item \abc{Nixon} +Dixon
\end{enumerate}
\end{document}
There is great difference of the level of solution if you allow to put some tag before first word or only between them. If such tag is allowed then you can use the TeX primitive construction \hbox to<dimen> {text\hfil}
which gives the box of declared size:
\def\p #1 {\leavevmode\hbox to4cm {#1\hfil}}
Then you can use
\item \p Tomas Thomas
\item \p Maine Main
\item \p Patty Patti
\item \p Roberts Robertson
\item \p Springfield Springvale
\item \p Nixon Dixon
The second case is much more complicated. I don't show it here unless the explicit needs are specified here.