MODULE_MAINTAINER() was discussed a while ago but embedding information into the binary has the problem you can't ever change deployed systems, meaning it lags by design. If a maintainer changes, people would still be using the information from their old binaries, meaning a replaced maintainer might get contacted for potentially years still (and the new one not).
(you could avoid that by placing not a name/address in the maintainer tag but a pointer to somewhere else but at that point this gets to be about solving something else).
Keeping it in the source alone is fine. C files could just embed their MAINTAINERS entry as a header:
/*
* P: Maintainer
* M: Mail patches to
* L: Mailing list that is relevant to this area
* W: Web-page with status/info
* T: SCM tree type and location. Type is one of: git, hg, quilt.
* S: Status, one of the following:
*/
And probably adding fields:
* I: Info/Summary (for index files and the like)
* A: Author
* G: License
and such. Yes, while we're at it, we can pick better letters or full word tags ;-)