KVM guests unique ID

Hi,
I wanted to know if there was a way to get a unique UUID for KVM guest from the guest OS which isn't easily modifiable. I have a software that I would like to run inside a KVM guest and want to do some license protection on it using a unique UUID. Does KVM allow multiple VMs on the same machine with same UUID. I mean if someone edits the configuration file of the VM manually from the host, would it still bring up the VM if the uuid was duplicated ? Also how can I get the uuid of a guest VM from the guest ?

Also if someone could throw some light on guest host communication channel. Is there an equivalent of Xenstore or guest property store in KVM ? Some mechanism to share small messages between the guest and the host.

Thanks
Shivani