1. you can assign as many cores as you have to your vm or a number of vm's.
2. Any level of unRaid does this. The difference in the levels is the amount of disks you can attach. you can assign whatever and however many cores to any vm, and even stack vm's on the same cores (though you'll get an understandable performance penalty.) You can even isolate the cores away from unRaid running as host and reserve the cores to only be used by the vm's you choose.
3. open a question in the appropriate place on the forum and someone will probably be able to help you with that.