Well I'm assuming you have set-up the extensions to be only 4 digits long? You shouldn't put the whole phone number in the extension name otherwise internal extension dialling will require entering the whole number, and also because doing so serves no purpose. The external line is set-up to route calls to the appropriate extension of your choice, thus the extension name need not contain the full phone number.
In the dialling plan, you can make a rule that says something like:
If number starts with 9, remove 1 digit and prepend nothing, and then dial on one of the external lines.
Then you can set the default line as [EXTENSION] so that all calls are assumed internal unless the employee dials nine (to access an outside line)