PA is not constructive in this sense. For note
> $PA \vdash \exists x(\varphi(x) \lor \forall y\
eg\varphi(y))$.
Now take the case where $\varphi(x)$ is $T(e,e,x)$, which expresses the relation which holds when $x$ codes the steps in a halting computation by Turing machine number $e$ run on input $e$. This Kleene relation is decidable, and indeed is expressible in the language of $PA$. If, for given $e$, there were always a number $n$ such that
> $PA \vdash (T(e, e, n) \lor \forall y\
eg T(e, e, y))$,
then we could do a terminating search for $n$ given $e$ by enumerating $PA$ proofs, and by then deciding whether $T(e,e,n)$ it would be decided whether Turing machine $e$ halts on input $e$, assuming $PA$ is sound. But we know the halting problem is undecidable.