Using ZF axioms I have constructed the natural numbers like so:
0 = ∅
1 = {0} = {∅}
2 = {0,1} = {∅,{∅}}
3 = {0,1,2} = {∅,{∅},{∅,{∅}}}
4 = {0,1,2,3} = {∅,{∅},{∅,{∅}},{∅,{∅},{∅,{∅}}}}
etc.
I am trying to determine if I used the axiom of choice for the representation. For the number $0$ I obviously did not since there is only one set with no elements. However, for the other sets, say for $2$, there is an infinite number of choices. i.e. $\{ \; \{\emptyset\}, \{\{\{\emptyset\}\}\} \; \}$ is another set with two elements in it.
However if we define the way we choose our sets through a successor property: $S(X) = X \cup \{X\}$ then we get the representative sets above. Because we used a property to pick our representation I don't think the Axiom of Choice is needed here. That is, we could use this property as a choice function.
Is this reasoning correct?
I am not sure what you mean by "we could use this property as a choice function", but ignoring that point you are correct.
Since you have explicitly defined $S(X) = X \cup \{X\}$ there is no choice involved here. You can very easily define any natural number $n$ as $S^n(\emptyset)$, which is an expression that you can expand and write down.
If you are taking a set theory class, though, it is worth noting that you have only constructed each individual number $n$ in this way. You have not constructed the set $\omega$ of all natural numbers. In order to build $\omega$ you need the axiom of infinity, and indeed $\omega$ itself (in the metatheory) provides a model of "most of ZF", with the axiom of infinity conspicuously absent. For more details see Kunen's (new) "Set Theory".
I hope this helps ^_^