I don't think you'll be able to set this up globally, unless you wanted to delete the leads outright. You could set up a smart list with whoever you don't want to be included in the program status portions, then add a constraint on those flow steps.
So if you have a white paper program and the first flow step changes the program status, just add a constraint to it that makes sure the lead is not in that smart list. If not, it changes the status. You might have to play with that a bit (you might have to pick a "not in program" status for people in the smart list instead).
As far as batching them all, again I think you have to do this individually, unless you're OK with just deleting the leads. If you delete the leads, I believe their membership data goes with them, which would clean it up.
That might be your best solution until you implement the constraint into all the flow steps for future occurences.
Yeah I really was hoping there was an easier, more global approach to this. :/
The way that I've done is is that I sent out an email asking everyone to use our company name in the Company Name field when they fill out forms, and then I modified the triggers to exclude our company.
So if I am testing the trigger behavior, I can use a different company name or leave it blank for my tests, but the average team member just downloading content isn't added to my programs.
I'm not sure if this is really the best approach (I'm a newbie), but I've done two things to try to prevent this:
1. Set up a nightly flow to change all employee's lead score to 0 (based on domain). They are now excluded from any campaigns or flows triggered off of score.
2. Set up a global suppression list (unsubscribes, email invalids, etc.) and included employees in that list. I then point to that list (using the Not In Smart List filter) whenever I set up a flow.