Back in the old days of office phone systems, and maybe it's still like this in some places, if you want to dial an "outside line" (i.e., a normal phone number) you couldn't just pick up the handset and start dialing. You first have to press "9" to let the system know you want to dial a number outside your office. Otherwise, it'll assume you want to dial someone's extension and either (1) blare an error tone in your ear, or (2) if someone is unlucky enough to have the first few numbers as their extension, it'll call them. Then you have to swear at the phone, slam the receiver down, pick it up, jab the "9" key, and dial your damn phone number.
By the time you're in a position to use this system, you already have 20 or 30 years of muscle memory about how phones work. You pick up the handset and start dialing your number. Everybody knows this, just as well as they know that "up" means on and "down" means off.
This outcome was so easily avoidable, too.
The right way to do it, which I'm sure is how modern PBX systems work, is this: the system waits for you to dial the entire number before deciding what to do with it. If it's more than 6 digits, it knows you're calling a standard number and sends the call through. If it's less than 7, it tries to dial it as a local extension. It listens for a pause of 2-3 seconds, which is the signal to accept the input. Or if you're in a big hurry, maybe you can press # to dial immediately. The point is, it works the way you expect a phone to work.
Maybe there was a technical reason this couldn't be done until recently. I don't see why, but for the sake of argument let's say that's the case. There's still a better way, and that's to have calling an "outside line" be the default. If you want to call a local extension, you should have to dial zero first.
No phone number starts with 0, so no one will do it accidentally, and even though "calling the operator" was no longer a meaningful concept by the 90s, people still knew that dialing 0 signifies an exception to a normal phone call.
If that's not intuitive enough, there's a very easy way to help people remember this: on the list of extensions that everyone prints out and tapes to the wall or pins to their cubicle, just add a leading 0. If Bob in accounting is extension 412, now he's extension 0412. Dialing 9 to get an "outside line" was invented by a programmer who gave up, and we all had to suffer for it.