Purely as a theoretical suggestion, you might use an additional VZFileHandleSerialPortAttachment pair to communicate the time to the VM.
You create a named-pipe file to attach the fileHandleForReading to;
On the guest side you have a shell script in a loop similar to while IFS= read -r time <&3; do date -s "$time"; done to set the time;
On the host side you have a script that echoes out the time into the named pipe, every time the computer wakes up. This is possible through a launchd plist.