We use Smart Lists on top of the built-in fields for deliverability (UnSub, Invalid, Suspended & Blacklisted) to segment who can get certain types of emails. So we have a "Mailable" SL that looks at that stuff plus some other logic, and that list tells us who we can send mail to. Every send is based off of that list or a derivative of it (we have SLs on top of "Mailable" for certain regions and types of content).
So in your case, I think we would put Program Membership logic into "Mailable" which would ensure everyone was excluded and then we'd do special logic within that one Program to include those people. If that makes sense...