I have virtual machine on PC1. I need to copy it to PC2. That is not a problem. But then I need to make some changes to virtual machine on PC1 and then copy it to PC2. But not overwrite - I need to have both versions in separate virtual machines. What is the best way to do that?
Basically what you require is replication, this is not specifically related to the fact that you are using virtual machines.
Depending on what you want to replicate, there are different solutions for that available. You have to think along the lines of file replication or database replication. Usually that requires a domain server or replication server that monitors for changes on the one server and replicates them to the other.