Hier eine Lösung, die zumindest minimale Anforderungen an die Ausrichtung erfüllt. Ich habe `xparse` verwendet, um einen Befehl zu definieren, da dies die Definition optionaler Argumente erleichtert.
\documentclass{article}
\usepackage{amsmath}
\usepackage{xparse}
\NewDocumentCommand \Zweizweisystem {s m m o m m o}
{
$\begin{alignedat}{3}
\text{(I)} & \; & #2 &= #3 & \quad & \IfNoValueF{#4}{|#4} \\
\text{(II)} & & #5 &= #6 & & \IfNoValueF{#7}{|#7}
\end{alignedat}$
\vspace{1ex}
\IfBooleanF{#1}{\hrule}
\vspace{1ex}
}
\begin{document}
\Zweizweisystem{3\,a+4\,b}{8}[+3\,a]{-7\,a+2\,b}{10}[-b]
\Zweizweisystem*{6\,a+4\,b}{8+3\,a}{-7\,a+b}{10-b}
\end{document}
Der Befehl \Zweizweisystem hat zunächst zwei Argumente in geschweiften Klammern, die die linke und rechte Seite der ersten Gleichung angeben. Dann folgt ein optionales Argument in eckigen Klammern für die Äquivalenzumformung der ersten Gleichung, dann das Gleiche für die zweite Gleichung. Bei der Sternform wird die horizontale Linie am Ende weggelassen.weggelassen.
Die Länge der Linie könnte man noch anpassen, indem man das Ganze in eine Parbox geeigneter Breite einschließt.