Methodology seems fine to me, since by default system users' emails are kept unique (you would need to ensure that it remains so). I just don't think it will be that easy in the template layer. Not saying it's not possible, I just don't see it ;) I would expect much more luck with eZ API.
I'll be facing similar problem quite soon, but I will most probably rely on content ownership rather than any other key.
There is a conflict here system wise because the content author is not necessarily the one responsible for the actual publishing. Since the owner/creator of the content object is set to the one that was putting the content object into the eZ Publish database, relying on it wouldn't help me much.
Do you have any idea about where to look in the eZ API to accomplish this task?
which means no easy direct access to their e-mail addresses. But if you can afford a periodical update of the linked content, then you could simply create your own table set for linking authors to content by processing these XMLs from time to time. Actually, seems to me that ezauthor datatype could be extended into a managed solution, which in architecture would resemble ezkeyword. And even an easier way - if you still want to rely on the author's e-mail - why don't you extend the ezauthor datatype by additionally saving md5( 'email@address' ) in one of the attribute's data_text fields. Then, just one simple SQL query would find all hashes of a given e-mail, thus providing contentobject_id. And that would naturally require writing the datatype class extensions as well as own operator to send results to templates.