Remember position of equal sign from one align environment to the next

use \phantom{...} with the widest element from the earlier environment, i.e., the one that causes align to calculate the position. in your example,

\begin{xyz}
  \begin{align}
    x &= a \\
      &= b   %store the position of & in \positionequal
  \end{align}
\end{xyz}
\begin{xyz}
   \begin{align} %read \positionequal and use it to put & at the right position
      \phantom{x} &= c
   \end{align}
\end{xyz}

Use \intertext for the text between evironments, that way you will have all the & marks aligned in the same position. See e.g. here; they say it is only for short text, but IIRC I was able to stuff long stretches of text and sectioning commands in there without issues (YMMV).


Although it is not the nicest thing to do, it seems possible to solve my problem by using \pdfsavepos or the zref package.

It gives you access to the distance between the beginning and end of the Lefthand side of your equation, so that you can reproduce this distance by an appropriate \hspace later.