The aux file basically consists of tex commands which are read and expanded at the begining of the document. The command
\AtBeginDocument{\makeatletter\input{test2.aux}\makeatother}
will have pretty much the same effect, at least in terms of \newlabel commands. OTOH, \@writefile{toc} commands don't fare as well. Perhaps this has to do with the fact that the \@starttoc{toc} command is the one which actually writes the toc.
Anyway, I am trying to merge the table of contents without actually repeating the entire document each time. The following was used to create test2.aux:
\documentclass{book}
\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\setcounter{part}{1}
\setcounter{page}{11}% this you will have to do manually
\part{Volume 2}
\chapter{v2 first}\label{test}
\chapter{v2 second}
\end{document}
which is read by
\documentclass{book}
\AtBeginDocument{\makeatletter\input{test2.aux}\makeatother}
\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\part{Volume 1}
\chapter{v1 first}\pageref{test}%\newlabel{test} from test2.aux
\chapter{v1 second}
\end{document}
Note that \pageref{test} works.

tocfrom the other document rather than theaux? (xr.styuse \read to selectively pick labels (only) from another aux file exactly to avoid problems with other things that are there) – David Carlisle Aug 26 '15 at 14:38