Just had another VP blame the global address list for "causing" an email to be sent to the wrong person with exactly the same name as the intended recipient. I believe this is one possible solution:

Bug 27362 – Make other attributes visible in GAL autocomplete

Other possible solutions? I don't want to hide the "wrong" people from the GAL, because definition of the "wrong" person is different and context-dependent. I don't want to break up into subdomains.

It would help disambiguation if autocomplete would return a configurable set of
attributes. For example, if the organization decides that organizationalUnit is a useful thing to display:

John Smith - Accounting <jsmith@example.com>
John Smith - Marketing <jjsmith@example.com>
John Smith - Sales <jbsmith@example.com>

or a .edu might want

John Smith - Chemistry Faculty <jsmith@example.edu>
John Smith - Undergraduate Undeclared Major <smithj@example.edu>

This is different from displayName because we would only show this for
autocomplete. When address is accepted, the To: line (and auto-add to Emailed Contacts) should show displayName, not the name form computed above.