If you know your employee's schedule, then define that schedule in timeperiods.cfg and then set that in the contact.cfg for that employee. If the person's schedule changes, then make a new entry in timeperiods.cfg and fix his contact.
Add the proper hosts/services to the proper hostgroup and add that user to a contactgroup, then add that contact group to the hosts/services.
You most likely will have every employee in the contact_group, but only some of them will be working on a particular day/night, so simply setup there entry in contact.cfg file to reflect those hours. Nagios will notify the group, but the group will only have some people with the correct timeperiod at any given time.
As far as the acknowledement thing, " This command is used to acknowledge a service problem. When a service problem is acknowledged, future notifications about problems are temporarily disabled until the service changes state (i.e. recovers). Contacts for this service will receive a notification about the acknowledgement, so they are aware that someone is working on the problem."
Escalations are also well documented in the docs.