You could use, for example, a process that allows you to fill in who is replacing you when you're on holiday. and what time you're leaving and what time you'll be back. The process has intermediate timer-events and some service-tasks. The timers fire when the start-date is reached, querying all tasks assigned to user X and "delegating" or setting assignee to user Y. Same for end-time, where the assignee is reset.
The above will cover existing processes. For new processes, you'll have to use a slightly modified "assignment" model (use an expression ${assigneeBean.getAssigneeOrReplacement()} or use an assignmentListener on the task that checks if the chosen employee is currently available. If not, assign it to it's replacement (which is stored in another system/db possibly). By using a BPMNParseHandler, you can add that special "assignment" task-listener to all processes deployed in the engine without having to define the listener in all of your BPMN XML's.