You could give a fixed length to the columns of the tables.
If you want the columns to occupy all the space possible in the half of the line, you have to calculate their column width in this way, in order to not have an overfull hbox:
.5\linewidth (half line)
-2\tabsep (minus the two spaces before and after the text column)
-.5\arrayrulewidth (minus half of the width of the vertical bar).
In my MWE I use the calc package, without it you can write \setlength{\myhalfpage}{\dimexpr .5\linewidth-2\tabcolsep-.5\arrayrulewidth} to get the same result.
You can use lockstep's definitions with this length.
\documentclass{article}
\usepackage{array}
\usepackage{calc}
\newlength{\myhalfpage}
\setlength{\myhalfpage}{.5\linewidth-2\tabcolsep-.5\arrayrulewidth}
\newcolumntype{L}{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{\myhalfpage}}
\newcolumntype{C}{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{\myhalfpage}}
\newcolumntype{R}{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{\myhalfpage}}
\begin{document}
\begin{center}
\begin{tabular}{R|L}
short & long long long \\
short & long long long \\
short & long long \\
short & long long long\\
\end{tabular}
\end{center}
\begin{center}
\begin{tabular}{R|L}
long long & short
\end{tabular}
\end{center}
\end{document}
