No the limit is not based on what's physically available. You can overprovision CPUs/cores, i.e. provision more vCPUs than available logical CPUs (cores, HyperThreading), but you need to take care you don't overload the system (depends on the VM's workload). Take a look at http://www.vmware.com/files/pdf/techpaper/VMware-vSphere-CPU-Sched-Perf.pdf which explains the CP scheduling in detail.
André