With the Select-Object cmdlet you can select a number of properties from an object.
The result will be a new object.
With the ExpandProperty you suppress this creation of an object, and you just get the value of the property.
That's the short explanation
The New-VIProperty module has been asleep for a while, but you are right I should urgently publish an update.
You can do global properties but it will require a bit more work in the code.
From the VM you'll have the datacenter to which it belongs, and once you have that you can get the # of VMs in that datacenter.
Let me know which specific one you would like to see as an example, and I'll try to come up with something over the weekend.