If you mean data sources outside of Aware IM, you need to create an object in Aware IM and import the external data into that object. To ensure uniqueness of email address you can add a rule to that object, for example:
If EXISTS Contact WHERE (Contact.EmailAddress = ThisContact.EmailAddress AND Contact.ID <> ThisContact.ID)
Then REPORT ERROR 'Contact with this email address already exits.'
When you import data with Validation option enabled, Aware IM will reject records with duplicate email addresses.
If you mean objects of different types inside an Aware IM business space, like Client, Employee, Partner, etc. then you can do the following to ensure uniqueness of email address across instances of different objects. Define a business object group, say called Correspondent, make the objects with email addresses to be members of the group, and add a rule to each member object, for example to object Client:
If EXISTS Correspondent WHERE (Correspondent.EmailAddress = ThisClient.EmailAddress AND Correspondent.ID <> ThisClient.ID)
Then REPORT ERROR 'A correspondent with this email address already exits.'
With such an object group in place you can run a query to list all email addresses in the business space regardless of the actual object type to which the listed instances belong.