Is reaching in less lines semi-decidable?
It's only semi-decidable if you word your decision problem very carefully. And you have to word it in such a way that the case where both programs never reach their $n$s is in the REJECT category. Since $\infty &lt; \infty$ is ambiguous/undefined I would explicitly mention this case in your decision problem.

Other than that, yes it's correct. Your machine halts if either $p_1$ or $p_2$ halts (viewing reaching $n$ as just another halting condition) and provides the correct answer in such a scenario. If you patch up the above issue then when neither $p_1, p_2$ halts you are in the REJECT case and thus you are allowed to never halt as well by semi-decidability.