CBSubs can protect individual pages using CBSubs Content, but if you're wanting 1 purchase = 1 view then 100 pages would be 100 plans. That's not a problem for CBSubs, but will have some configuration for you to do. You can also protect content inside of pages using CBSubs IF substitutions described in the cbsubsbot plugin description. So yes it'd basically just be a tedious one-time setup and once you're done you're done. I'd probably make the plan first, make sure it's configured exactly how you want it, then make a copy of it for each video so all you'd need to change is the CBSubs Content parameters to the new article per plan.
You might be able to use CBSubs Options and be able to do this with a single plan though. What you'd probably have to do is make an option like a multi-checkbox or multi-select which lists all the videos so they can select the ones they want. You'd then push this selection using substitutions to a CB field. Now you can use CB IF substitutions against that field inside your articles using CB Content Bot to either show the video or maybe show a message with link that they need to subscribe. The main issue with this is if they want to buy more videos they'll only be able to do so at time of renewal.