That old MSE question discusses the notion of “constructive proof”, and the answers explain that there is no one definition of what "constructive" or "non-constructive" means.
Recently, I thought of the following definition : let us say a theory $T$ (at least as strong as Peano arithmetic, say) is “constructive” if whenever a nonconstructive proof about integers exists, then there is a constructive equivalent, i.e. whenever $T$ proves (“non-constructively”) that $\exists \ \text{integer } n,\ \phi(n)$ for some predicate $\phi$, then there is an integer $n_0$ such that $T$ proves $\phi(n_0)$.
There is a connection between this notion and $\omega$-consistency : if $T$ is consistent but $\omega$-inconsistent, then T is not “constructive”. But (unless I missed something), if we only know $T$ is $\omega$-consistent, we cannot know in advance if $T$ will be constructive or not.
Is it known whether PA,ZF or ZFC are “constructive” in this sense ?