Have a run-time file in which Qemu keeps its current NVRAM contents. Make the name of the file a variable, with a default if not specified. If the file does not exist, it gets created with its variables' initial values set to their default settings. It is, in effect, Qemu's virtual emulation of NVRAM; it gets updated in the course of the emulation run as values get changed, and remains available for subsequent runs.
The savevm and loadvm commands in the CVS version of Qemu handle also the NVRAM contents. So the net effect is similar, except that the files are not separate. That could be addressed by creating some kind of disassembly and assembly tools for the vm images.