Well. org-mode has its own extensible URI system of sorts.
My email links are formatted mu4e:msgid:<message identifier>. My git links are magit:<project path>::commit@<git SHA>. Remote files are just file:/ssh:<user>@<server>:<remote path>. You could write your own for whatever you want, gmail links say (although then you could just use a plain old HTTP link).
We have message-ids, but those only let you find a message if you already know how to find a message store that contains it. Add an imap server name and user id, and you're most of the way there...
The parent poster does have a point though, we don't have URI for emails...