The usual definition of a finite number $n$ in the ZFC set theory is $n\in\mathbb{N}$, which is equivalent to "$n$ is 0 or a successor ordinal, and so are all its elements". But this is not obviously equivalent to the intuition of a finite number, which would rather be a group of sticks that one can draw on a paper or a wall. And by the compactness theorem, we can consistently add a new constant symbol $c$ to ZFC, together with the axioms $c\in\mathbb{N}$ and $0 < c, 1 < c, 2 < c, ...$ We call numbers such as $c$ non standard.
I am particularly interested in proving the termination in finite time of certain algorithms or computer programs. And I am now concerned with the following type of reasoning : assume by contradiction that for all $n\in\mathbb{N}$, the program runs for more than $n$ steps, and derive a contradiction. Conclude that there exists an $n\in\mathbb{N}$ such as the program terminates in less than $n$ steps. What if this number $n$ was non standard ? It would prove nothing regarding the intended meaning of termination of a program.
Is there a meta-theoretical property of ZFC, telling that every definable $n\in\mathbb{N}$ is standard ? Or telling that the proved existing $n$ above is standard ?