On second thoughts, I think the surreal numbers are what you want to use for utilities. If you choose any subset of the surreals then you can construct a hypothetical agent who assigns those numbers as utilities to some set of choices. So you sometimes need the surreal numbers to express a utility function. And on the other hand the surreal numbers are the universally embedding total order, so they also suffice to express any utility function.
On second thoughts, I think the surreal numbers are what you want to use for utilities. If you choose any subset of the surreals then you can construct a hypothetical agent who assigns those numbers as utilities to some set of choices. So you sometimes need the surreal numbers to express a utility function. And on the other hand the surreal numbers are the universally embedding total order, so they also suffice to express any utility function.