Why not just unsub them, you can do that as a step in Program Builder, and then throw them into another program that checks if their "pause until" date has passed, and re-subscribes them once it has?
I haven't tried this, we'd have to hash out the details a bit, but since you can both unsubscribe and re-subscribe contacts in Program Builder I don't see a need to create a separate subscription mechanism with a separate field using the master exclude list (although that would work too).