That is how the normal POTS phone works and there is some expectation that physical SIP VoIP phone would work in same manner. For the VoIP phone the usual implementation is that the hardware SIP phones have configurable regular expression that describes all possible complete numbers and configurable dial timeout. Getting this to work reliably is somewhat intractable problem, while with H.323 or Cisco SCCP phones it just works. For SCCP because the phones are more or less dumb terminals and with H.323 because the signaling protocol is designed with this in mind.
On the other hand desktop phones are today mostly used in office environments, where essentially everybody today enters number first and then does some action that signifies that it is the complete address (pickups handset or enables speakerphone)
Edit: motivational example: suppose that random person pick ups random SIP phone and punches in 1-1-2 (or 9-1-1), then reasonable expectation is that the phone somehow divines, that what the user really means is 112@sip.exapmle.com(or 911@...) and immediately sends the INVITE, getting it to work that way for arbitrary numbers is somewhat nontrivial.
On the other hand desktop phones are today mostly used in office environments, where essentially everybody today enters number first and then does some action that signifies that it is the complete address (pickups handset or enables speakerphone)
Edit: motivational example: suppose that random person pick ups random SIP phone and punches in 1-1-2 (or 9-1-1), then reasonable expectation is that the phone somehow divines, that what the user really means is 112@sip.exapmle.com(or 911@...) and immediately sends the INVITE, getting it to work that way for arbitrary numbers is somewhat nontrivial.