Hi Martin
One way around this could be to enable program extensions and give the people on extended leave an extension to the time so they wouldn't receive program expiry notifications .
When a user is reassigned the user will be returned to their previous status by restoring their latest unassigned certification history record.
Regards