First of all, for the base case of $ZF^{-\infty}$: as was noted, the set of numbers that can be produced here is the same as the set of all numbers 'born' on finite days in Conway's usual construction. I finally got around to digging through my references and it turns out that none of On Numbers And Games, Winning Ways or Surreal Numbers actually give a full proof that the only numbers born on day $n$ are dyadic rationals. Here's a rough outline of the process (omitting the very basic proofs of the usual properties for addition, inequality, etc. and the obvious restriction to positive numbers, since negatives follow easily) that would go into a proof:
- Prove the Simplicity Theorem: if both $X_L$ and $X_R$ are non-empty, the value of $x = \{X_L|X_R\}$ is the simplest (first-created) value strictly between them. Another version of this is that if $x=\{X_L|X_R\}$ and $Y_L\lt x, Y_R \gt x$ then $x=\{X_L,Y_L|X_R,Y_R\}$. This implies that if the numbers born by day $n$ are $0, x_1, \ldots, x_m$ then the numbers born on day $n+1$ will be just $\{0|x_1\}, \{x_1|x_2\}, \ldots, \{x_{m-1}|x_m\}, \{x_m|\}$ - they fill in the gaps.
- Use this to prove the simplest form of the translation theorem: if $x$ is positive, then $1+x = \{1+X_L|1+X_R\}$. This then implies that the numbers greater than $1$ born on day $n+1$ are $1$ more than the numbers born on day $n$ and lets us restrict attention to the numbers between $0$ and $1$.
- By induction, assume that the numbers between $0$ and $1$ born by day $n$ are the dyadic rationals $t/2^{n-1}, 0\lt t\lt 2^{n-1}$. Consider the gap $(a,a+2^{-(n-1)})$ on day $n$ and the number $x_{new} = \{a|a+2^{-(n-1)}\}$ born on day $n+1$; we know that $x_{new} > a$ and $x_{new} < a+2^{-(n-1)}$. Then $x_{new}+x_{new} = \{a+x_{new}|a+2^{-(n-1)}+x_{new}\}$; the left side is thus greater than $a+a$ and less than $a+a+2^{-(n-1)}$; similarly, the right side is greater than $a+a+2^{(n-1)}$ and less than $a+a+2^{-(n-2)}$. The simplest number in this span is $a+a+2^{-(n-1)}$, and so by the simplicity theorem $x_{new}+x_{new} = a+a+2^{-(n-1)}$ and thus $x_{new} = a+2^{-n}$.
For the $NBG^{-\infty}$ case, things are a bit more subtle. It seems clear that you can't get numbers born on any day $\gt\omega$, because those numbers will involve 'class members' - numbers born on at least day $\omega$, with a proper class on either their left or right side, and proper classes aren't available as members. At first I thought you could get all the numbers born on day $\omega$, but the catch is that class comprehension doesn't give you arbitrary countable sets of hereditarily-finite (surreal) numbers (i.e. dyadics), but only definable sets, and what's definable depends on what your language is. If you restrict to $\{\leq, +\}$ then the (traditional) numbers that you can get are all the rationals; if your language is $\{\leq, +, \times\}$ then you should get all algebraic numbers. Over either language, you'll also get $\omega, -\omega$, and all numbers of the form $d\pm 1/\omega$ for dyadic $d$, since these are defined by cuts of the form $\{d|d+{1\over2}, d+{1\over4}, \ldots\}$ and similar. Proving that these are all the defined numbers seems relatively straightforward: if $X_L$ has a largest member $x_L$ then we must have $\inf(X_R) = x_L$ (otherwise there will be some dyadic rational in the range $(x_L, \inf(X_R)$) and so the value is $x_L+{1\over\omega}$ (as this is the simplest number larger than $x_L$ and smaller than all the $X_R$); the dual statement obviously holds if $X_R$ has a smallest member $x_R$. If neither $X_L$ nor $X_R$ has an extremal member in the appropriate direction, then they must have a shared infimum/supremum; at this point it comes down to showing that the supremum of all the values satisfying some system of linear (respectively polynomial) integer inequalities is a rational, respectively algebraic, number.
Notation for sets and numbers:
This is not a big problem now, but will be when you do a bit more with the surreal numbers: We must be very careful to distinguish numbers from sets of numbers.
As you said, a number is a pair of sets of numbers. That means that $(0,1)$ should definitely not be a number, since $0$ and $1$ are not sets of numbers, they're numbers. When you wrote $(0,1)$, I assume you intended $(\{0\},\{1\})$.
Similarly, When you see capital letters as in $X_L$, we are discussing sets of surreal numbers, not individual numbers. When we are clear about this, that gives us a chance to use convenient shorthands. (Here I assume you are comfortable with $\forall$ and $\in$ for "for all".) Make sure you are clear that $x\ngeq Y_R$ is a shorthand for something like $\forall y_2\in Y_R,\,x\ngeq y_2$. And $X_L\ngeq X_R$ is a shorthand for something like $\forall x_1\in X_L,\,\forall x_2\in X_R,\,x_1\ngeq x_2$.
Because of these shorthands, writing something like $X_L\ne Y_L$ would almost never be done because of the ambiguity. The reader would have to guess whether it means they are not literally the same sets (as was intended in the question post) or if it means that $\forall x_1\in X_L,\,\forall y_1\in Y_L,\,x_1\ne y_2$? etc.
Main answer:
To make this more self-contained and to clear up any confusion about the basic facts, I'll build up to $(\{0\},\{1\})$ being a number from the beginning.
Consider $(\varnothing,\varnothing)$. If we want to check if it's a number, we must check the condition $\varnothing\ngeq\varnothing$. That shorthand expands to something like $\forall x_1,x_2\in\varnothing,\ldots$, which is vacuously true. So $(\varnothing,\varnothing)$ is a number, and we call it "$0$".
Now consider $(\{0\},\varnothing)$. We must check $\{0\}\ngeq\varnothing$. But this expands to something of the form $\forall x_1\in\{0\},\forall x_2\in \varnothing,\ldots$, and is still vacuously true. So $(\{0\},\varnothing)$ is a number, and we call it "$1$".
Now consider $(\{0\},\{1\})$. Let us check whether it is a number, without knowing what background facts might help. The condition is $\{0\}\ngeq\{1\}$. That is shorthand for $\forall x_1\in\{0\},\,\forall x_2\in\{1\},\,x_1\ngeq x_2$. Since those sets only have one element each, the only statement we need to check is $0\ngeq1$. By standard convention for the slash $/$, this means we must check that $0\ge1$ is false. By standard convention for symbols with left-right orientation like this, we must check that $1\le0$ is false.
By definition, $1\le0$ (i.e. $(\{0\},\varnothing)\le(\varnothing,\varnothing)$ would mean both $1\ngeq\varnothing$ and $\{0\}\ngeq0$ hold. So we can show it is false by showing $\{0\}\ngeq0$ is false (incidentally, $1\ngeq\varnothing$ is vacuously true). And $\{0\}\ngeq0$ is shorthand for $\forall x_1\in\{0\},\,x_1\ngeq 0$. Since the set has only one element, this reduces to $0\ngeq 0 $. And to show $0\ngeq 0$ is false, we just need to show that $0\geq 0$, i.e. $0\leq 0$.
Why is $0\leq 0$ true? Well it means $0\ngeq\varnothing$ and $\varnothing\ngeq 0$. But both of those are vacuously true!
This was a lot of drilling down into definitions, so I'll reverse the order of the deductions to summarize:
- $0\ngeq\varnothing$ and $\varnothing\ngeq0$ are vacuously true.
- $0\le0$ (is true).
- $0\ngeq0$ is false.
- $\{0\}\ngeq0$ is false.
- $1\le0$ is false.
- $0\ngeq1$ is true.
- $\{0\}\ngeq\{1\}$ (is true).
- $(\{0\},\{1\})$ is a number.
On Notation:
Many sources discussing surreal numbers will use a more compact notation. $(\{a,b\},\{c,d,e\})$ would instead be written $\{a,b\mid c,d,e\}$, and something like $1=(\{0\},\varnothing)$ would be written $\{0\mid \,\}$.
Best Answer
To expand a bit on my comment:
In set theory one often runs into troubles when defining an equivalence relation whose universe is a class. It is quite possible to have an equivalence class (or all) that have a proper-class many members in it (e.g., all singletons).
The common trick around it is known as Scott's trick, invented by Dana Scott to allow an internal definition of cardinality in models of ZF:
Suppose that $\varphi(x,y)$ describes the equivalence relation (that is, $x$ is equivalent to $y$ if and only if $\varphi(x,y)$ is true), we then define the equivalence class of $x$ as: $$[x]_\varphi = \{y\mid \varphi(x,y)\land\mathrm{rank}(y)\text{ is minimal}\}$$
We make a heavy use of the axiom of regularity, from which follows that every set has a von Neumann rank. We take the collection of those with minimal rank.
Note that $[x]_\varphi$ is not empty. $\varphi(x,x)$ is always true so there is some $y\in[x]_\varphi$ whose rank is at most the rank of $x$, and therefore by the replacement/subset schema $[x]_\varphi$ is indeed a set.
A minor remark about the existence of such $\varphi$ is that in ZF [proper] classes are described by a formula. If $R$ is a proper class which is also an equivalence relation then there is $\varphi$ such that $\varphi(x,y)$ is true if and only if $\langle x,y \rangle\in R$.