I sympathize with your situation, I actually ended up changing my display name from just "Tim" with the hope that people wouldn't be subjected to notifications that were meant for me.
Unfortunately, I don't think that there's necessarily any better solution to this problem than the one that's already in place. The problem is that while it's easy for us to see that the notification was intended for Marc Gravell in the context of the message, it's a bit harder for chat to make that determination.
In this particular case, it might be possible to be more selective, but it wouldn't be foolproof. Noting that "Marc" matches only a portion of your username while matching an entire space-delimited token of Marc Gravell's, it might be reasonable to assume the intended notification recipient was Marc Gravell, at least for the purposes of the StackExchange™ MultiCollider SuperDropdown™.
However, there's a (mildly convoluted, I admit) scenario where this could easily not be the case. Assume that you and a fictional user Martin had been talking, and I came in on mobile chat. Mobile chat doesn't have username auto-complete functionality, nor does it allow you to reply to specific messages, so to comment on one of your messages I'd be forced to type out the @-mention manually.
To make sure that my reply seemed to be directed at you (instead of Martin), and to make things easier on myself on the mobile keyboard, I might be inclined to just write "@marc" at the beginning of my implicit response. However, Marc Gravell would surely have been in the room recently enough to be the more viable notification recipient based on the modified matching rules above, and would therefore intercept the reply intended for you.
So, in this case, instead of getting a notification that wasn't meant for you, you wouldn't get one that was. It seems the belief is, and I'm inclined to agree, that it's better to be misnotified than to be unnotified, especially since I believe that misnotifications are thought to be relatively rare.
On the flip side of the coin though, there's also some faulty user behaviour going on here. Username auto-complete works very well in the normal chat, and had it been used you wouldn't have been notified, since @MarcGravell is certainly not a match for marcog. I believe that I was responsible for at least one of the "@Marc"s, so sorry about that. For my part, I'll make a mental note to be more careful about that in the future.
Edit: Having read it after answering, I could probably get behind Aarobat's suggestion too. It still leaves some room for notifications to not reach their intended targets, but those cases seem unlikely enough that they can be disregarded.
Perhaps take into account that if he's active in the chat room at the time, but I'm not, then ping him but not me?
I think this already happens