A solution with \@namedef and \@nameuse -- since the counters are not the same, there must be two macros for retrieving the problemtext (or a more or less sophisticated \let... statement depending on which environment is active at the moment!)
\documentclass{article}
\usepackage{answers}
\Newassociation{sol}{Solution}{ans}
\newtheorem{exercise}{Exercise}
\makeatletter
\newcommand{\storeproblemtext}[1]{%
\global\@namedef{problemtext\theexercise}{#1}%
}
\newcommand{\retrieveproblemtext}{%
\@nameuse{problemtext\theexercise}%
}
\newcommand{\solutionproblemtext}{%
\@nameuse{problemtext\theSolution}% Counter is named Solution
}
\makeatother
\begin{document}
\Opensolutionfile{ans}[ans1]
\begin{exercise}\label{prop:solnspan}
\storeproblemtext{%
Prove Proposition~\ref{prop:solnspan}.%
}
\retrieveproblemtext{1}%
\begin{sol}
Some text just for testing here:
\solutionproblemtext%
\textbf{Solution}\\
(Solution goes here...)
\end{sol}
\end{exercise}
\begin{exercise}\label{einstein}
\storeproblemtext{%
Prove $E=mc^2$.%
}
\retrieveproblemtext%
\begin{sol}
Some text just for testing here:
\solutionproblemtext%
\textbf{Solution}\\
(Solution goes here...)
\end{sol}
\end{exercise}
\Closesolutionfile{ans}
\input{ans1}
\end{document}

Update (Thanks to the suggestion of touhami!)
\documentclass{article}
\usepackage{answers}
\Newassociation{sol}{Solution}{ans}
\newtheorem{exercise}{Exercise}
\makeatletter
\newcommand{\storeproblemtext}[1]{%
\global\@namedef{problemtext\@currentlabel}{#1}%
}
\newcommand{\retrieveproblemtext}{%
\@nameuse{problemtext\@currentlabel}%
}
\makeatother
\begin{document}
\Opensolutionfile{ans}[ans1]
\begin{exercise}\label{prop:solnspan}
\storeproblemtext{%
Prove Proposition~\ref{prop:solnspan}.%
}
\retrieveproblemtext{1}%
\begin{sol}
Some text just for testing here:
\retrieveproblemtext%
\textbf{Solution}\\
(Solution goes here...)
\end{sol}
\end{exercise}
\begin{exercise}\label{einstein}
\storeproblemtext{%
Prove $E=mc^2$.%
}
\retrieveproblemtext%
\begin{sol}
Some text just for testing here:
\retrieveproblemtext%
\textbf{Solution}\\
(Solution goes here...)
\end{sol}
\end{exercise}
\Closesolutionfile{ans}
\input{ans1}
\end{document}
\Opensolutionfileand\Closesolutionfilemacros this will work if\gdef\problemtextis used, but this is no good strategy, since it requires a new macroname for eachproblem text– Jun 22 '16 at 06:31