Based on previous posts, I assume that this system is in Switzerland. If not, which country?
Most systems are normally set up so that outside numbers can be dialed without a prefix, same as from a landline or mobile. This avoids confusion, allows dialing from device history, contact lists, click-to-call, etc., and shows the same number format for incoming and outgoing calls.
One possibility is to dial without a prefix to show the private number, and prefix 9 to show the main number. Or, vice-versa if most calls would show the main number.
If your devices have spare line keys, you could set up two extensions. Press one button to show the private number, the other for the main. Calls directly to the private number would ring on the first; calls connected via IVR or receptionist would ring on the second. With most phones, that would result in calls from history automatically selecting the correct line. Contacts in the phone could be programmed with the desired line.
In any case, your emergency route should allow 112, 0112 and 9112 (and likewise for other emergency numbers), displaying the correct Emergency CID to the dispatcher. Next, have a route for non-emergency short codes.
Then, the route for ‘regular’ outside numbers is trivial (if you have no restrictions), requiring only one pattern for domestic and one for international. So, it is easy to have separate routes for private and main CIDs.