Consistency in access and download permissions across media?
Suggestions
You certainly can limit access to whoever you want based on whatever you want, but those whoever/however/whatever would need to be decided and built into a module.
Its the designing of how that system would work that would be the base of the module.
The foxycart module does it. It only allows download access to user who have gone through the purchase process.
Determining who gets access to what seams like it could be quite complicated in your instance.