Perhaps I can answer some of the questions for you. A vCPU is basically a core or a hyperthread core. The trick with assigning vCPUs is this: However many vCPUs you assign to a VM have to all be available before that VM can run and conversely when a VM is running (i.e. it's getting its timeslice) the number of vCPUs assigned to it are tied up and cannot be used by another VM, even if the the VM to which they are assigned is idle and/or not using them all. Also, ESXi is smart enough to assign vCPUs to physical cores when it's time for a VM to run such that it won't use the associated hyperthread core unless it has to because of the performance hit, although there are some settings you can use to tinker with this behavior. As a practical matter what this means is that if you have several VMs each using quite a few vCPUs you run the risk of performance problems because they can't all be getting their timeslices at once due to a shortage of physical cores to map to vCPUs. This problem is somewhat ameliorated by hyperthread cores in the case of a VM with several vCPUs tying up physical cores even though it's not using them all because in that scenario another VM which gets the hyperthread core, and this is allowed to run, will run at full speed. What this also means is that if you have a number of VMs using several vCPUs your choice of hardware is better if you get a computer with more but slower cores rather than fewer faster ones, even though the total CPU power of both computers is the same.
There are also a few tuning tricks you can use to help favor your high priority over and above the resource allocations, especially if that favored VM is using several vCPUs, and provided you have a bit of extra CPU capacity. You can use the CPU affinity settings to dedicate one or more cores to a particular VM. For example I have an ESXi box with 2 AMD 6 core processors (no hyperthreading). I have one workload on it which uses 4 vCPUs, several that use 2 vCPUs, and several that use just one vCPU. The 4 vCPU workload (the most important one) is a SBS 2008 VM that has lots of processes running in it because it's both a domain server and exchange server and thus at certain times needs 4 vCPUs to run well. To give it an edge I've prevented all the other VMs, via the CPU affinity settings, from using the last two physical cores. Therefore the 4 vCPU VM has two of the four vCPUs that it needs to run available to it at all times and only has to compete with the rest of the VMs for two of the remaining ten cores. This sort of things of course only works if you are willing to devote a portion of the resources of the box at all times to your high priority workload even if that means that they sit idle if the high priority workload is idle and the rest of the VMs need CPU.