I had a similar situation and end up regretting using the Employee ID as my key. The only thing I came up with was using a temporary placeholder for the employee ID (if it is a text field it could be like TEMP-001, if it numeric maybe 99999, 99998,99997, etc) and changing it later.
The catch there is if you have any child fields, you need to write an automation that says if you change the parent key field, go through the children and change the related field to match. Otherwise, all your children will be orphaned.
In our company, they actually can switch employee IDs for a few different reasons (mostly if they switched internal departments/companies). I rebuilt my app so that I had an employee table with name, email, phone, emergency contacts, etc etc. Then an employee ID table that stored their employee ID, company, supervisor etc. The items that are specific to that ID. That helped me as I could enter the employee and add the ID later. I use the ID as a key so I can import time cards and other info, which I can still do.
However, I wish i had made the employee id a text field instead of numeric so i could have leading zeros.
------------------------------
Mike Tamoush
------------------------------