Apparently, as of Mac OS X 10.5, Apple’s Mail client provides a new URL protocol:
message:. Good article at Daring Fireball that explains the message: protocol and how to get the information from it. What use is it? Well, any third party app that wants to index and point into the mail store can simply use a URL, which really opens up the types of development environments you can write those things in and the portability of the data.
Bottom line: the format is
message:%3cmessage-id%3e, where %3c and %3e are the encoded values of < and > respectively, and the message-id is gotten from the Message-ID header and can be viewed by dragging the mail message to TextPad or another drag-compatible client, or by using AppleScript.