In azure active-directory B2C, is there a way to limit registration according to an email address pool? Or can one pre register accounts, then user would have to choose password or use google or facebook account?
There is no built-in mechanism in Azure AD B2C to limit registration to a specific set of users / emails. You can request this via the Azure AD B2C feedback forum.
However, you can implement this yourself by:
This is similar to Azure AD B2C - approval upon sign up?