Email Alerts reference fields of type Email on the target object or related to the target object
Only in some use cases will the recipients be lists: Account Team, Case Team, Role, Role and Subordinates, Public Groups
Dynamically constructing membership in these lists is not really practical and probably what you don't want anyway
Option 1 - Define 5-10 fields of type Email on your target object; you can hide from the page layout. Then populate those fields with the recipient's email addresses.
The email alert references all 5-10 custom fields; if they are blank at send time, SFDC will ignore
Fragile: Breaks if you need 11 recipients
Option 2 - Send the email from Apex. Then you have complete control over the