The reason I ask is because you may create 2 aggregates in an active/active config, and assign a volume in each aggregate to handle VMWare datastores. This would spread your load to both controllers.
Otherwise, if you have a single controller you should stick to a single aggregate with one volume for VMWare datastore(s). In fact, I would stick to VMWare guidelines instead of NetApp here (regarding number of VMs per store). This was already mentioned in the first reply to your post.
I recommend NFS because of A-SIS - dedupe is phenomenal on NFS VMWare datastores, especially for Windows
Now for Exchange you should probably create additional volumes for LUNs to mount logs and database disks to Exchange. You can use RDMs too. Depends if you licensed SnapDrive, etc. etc. Also, did you check out SnapManager for Exchange?