There is a way to do as you describe, but why would you want to avoid a second process?
I know most people frown upon running it as a second process but in most cases where I've come across it's usually what the second process is being used for rather than any despite towards the notion of a second process in it self.
Some bad ones:
--[ The second process involves starting up secondary application or software.
--[ The second process breaks a lot.
--[ The second process alters images so reviews are inaccurate.
--[ Some genius figured to write an embedded header altering plugin which locks the files down to only being loadable in a modified instance of Maya.
The easiest one I know of is to just simply use the generic exr python libraries and write additional header attributes as a post-mel python Frankenscript within the render globals, ugly as heck but works a charm, that way it's technically still an internal Maya "process" completing a rendered image but I'm sure a lot of folks can suggest a more direct and API friendly way of achieving this.
In the meantime I hope this helps.