If it were me, I would have a ClientCollection class. You pretty much have this anyway in all but name, so I don't see it as any big deal.
As part of that class I might have a method called GetClientsWithEmail, which returns a list of Clients with a particular email address. By doing things this way, this method is purely a lookup, doesn't contain any business logic. In fact I could envisage a single line of linq under here.
When someone tries to update the email address of the Client, you will have some validation code. This may or may not be part of the Client class (you indicate that it is, but it doesn't have to be of course). Anyway, this validation code can call ClientCollection.GetClientsWithEmail method, and test that the returned number of Client objects is zero.