It sounds like you're looking for the ability for a developer to check out a VM or set of VMs, do their work on them, and then either check them back in or discards the VM(s). Is that correct?
VMware had a product called Lab Manager that was geared towards that kind of use. It has been discountinued and replaced with vCloud Directory.
Here's some info to look at: http://www.vmware.com/products/labmanager/overview.html
http://www.vmware.com/products/vcloud-director/overview.html