Hi,
I don't have answers for many of your questions. But one of my customers uses employee ID as user name. It works flawlessly because they have IdM. So HR department creates new employees, they get exported to IdM and then provisioned to all required back-end systems. Every employee knows it's employee ID because it's on their badge as well as on they paychecks. The head office users used to have different naming convention. They did not migrate these so some people still use old user accounts.
With IdM you could have different user names for different backends. It would create some complexity so I am not really sure if it's a good idea.
Cheers,
Martin