Baatezu's answer is right, but wrong too! His response of "Not Really" should, I think, read "Yes"
As he says, you can mark any module as Premium, even if it has no cost associated. Once marked as such you can then opt it into each of the portals one at a time. Then it appears in the list of available modules only for those portals in which is is available and not in others.
I think that does exactly what you want.
I'm running 4.9 [and I know that stuff is in different places in 5.0] so I would do the following:
Under Host > Module Definitions you edit the module you have installed and tick the 'Premium' option.
Then under Admin > Site Settings (when logged in as host) you can expand the Advanced Settings section to find Host Settings (like I say, ONLY visible when logged in with a host/super user account) and in there you get a couple of list boxes of premium modules, available and assigned. You can select for that portal which of the premium modules are assigned to that portal. If they are assigned then they appear in the list of modules available for adding to a page. If they are not assigned they do not appear in the list.