If you're running VirtualCenter, you can shut the VM down, and then right click on it and select clone. If you don't, then you can use this process -
1) Create a new VM with the specs you want and a small HD.
2) Edit the VM and remove the HD.
3) Copy the VMDK over from the source to new folder with vmkfstools -i /source_path/source.vmdk /dest_path/destination.vmdk
4) Edit the VM, add a HD and use an existing VMDK file - select the new VMDK that was created.
5) Power on the VM and run sysprep, etc.
You can use cloning (but the vm must be off) or VMWare Converter.
If you're running VirtualCenter, you can shut the VM down, and then right click on it and select clone. If you don't, then you can use this process -
1) Create a new VM with the specs you want and a small HD.
2) Edit the VM and remove the HD.
3) Copy the VMDK over from the source to new folder with vmkfstools -i /source_path/source.vmdk /dest_path/destination.vmdk
4) Edit the VM, add a HD and use an existing VMDK file - select the new VMDK that was created.
5) Power on the VM and run sysprep, etc.
To create a template of the VM right click the VM and select Clone to template. This will create a group of files into a template that you can then right click the template and select deploy from template.