I'd like to create such a group so that I can contact them to identify which of their multiple email addresses they want to have as their primary one.
2 Answers
This is an old question but has a new solution using Search Kit:
See here
From the search, you could create a smart group.
The original solution looks for multiple addresses even if they are the same. To get the same results, untick 'distinct'. For the purpose described in the question, it is probably more useful to look at the number of distinct addresses.
Here's a hack that only works if you're not using the "Do not SMS" field for contacts, if you do, find a different one.
Use that field as a temporary flag to identify contacts in the group, using sql like this:
UPDATE civicrm_contact set do_not_sms = 1 where id in (SELECT contact_id FROM civicrm_email group by contact_id having count(id) > 1)
Use that field via a search to select all the multi-email contacts.
Put 'em in a group.