I am not sure there is any way to allow users to select which domain they should use themselves, however you should be able to select defaults for different groups of users using email address policies:
Scenario 1
The following example shows you how to provision all Office 365 groups in your organization in the groups.contoso.com domain.
New-EmailAddressPolicy -Name Groups -IncludeUnifiedGroupRecipients -EnabledEmailAddressTemplates "SMTP:@groups.contoso.com" -Priority 1
Scenario 2
Let's say you want to control what sub-domains Office 365 groups are created in. You want:
Office 365 groups created by students (users which have Department set to Students) in the students.groups.contoso.com domain. Use this command:
New-EmailAddressPolicy -Name StudentsGroups -IncludeUnifiedGroupRecipients -EnabledEmailAddressTemplates "SMTP:@students.groups.contoso.com","smtp:@groups.contoso.com” -ManagedByFilter {Department -eq 'Students'} -Priority 1
Office 365 groups created by faculty members (users which have Department set to Faculty or email address contains faculty.contoso.com)) in the faculty.groups.contoso.com domain. Use this command:
New-EmailAddressPolicy -Name FacultyGroups -IncludeUnifiedGroupRecipients -EnabledEmailAddressTemplates SMTP:@faculty.groups.contoso.com","smtp:@groups.contoso.com” -ManagedByFilter {Department -eq 'Faculty' -or EmailAddresses -like "*faculty.contoso.com*"} -Priority 2
All other users in the groups.contoso.com domain. Use this command:
New-EmailAddressPolicy -Name OtherGroups -IncludeUnifiedGroupRecipients -EnabledPrimarySMTPAddressTemplates "SMTP:@groups.contoso.com" -Priority 3