The best way to solve this is doing this in a single process, as it's all related to a single use case. The best way to do this, IMHO, is to have multiple boundary-timer-events on the UserTask for the employee. These boundary-events should have cancelActivity="false" in the XML, which keeps the "employee" task alive when the timer fires.
When one of the timers fires (eg. first one at 3 days -> timeDuration="P3D"), you have a user-task for the manager called "Call employee X". The outcome of this tasks leads to an end-event. When the "Call employee X" task is completed, only the "forked" part of the process ends (caused by the timer) and the employee-usertask remains active. The other timers can have other timeDurations.
Finally, if there is a hard-deadline, you can have the timer cancel the activity and go to a manager-task "deadline expired". This way, after the 10 days, the employee won't have see the task in his task-list anymore.