1. You should install Windows first for an easier install. Windows does not account for other Operating Systems when installed, and while it won't delete the other system, it will overwrite the bootloader. Ubuntu will install grub, which will allow for a dual-boot into whichever system you want at startup time.
2. Depends on what you want to do. If you want to do anything graphics heavy on the Windows system, like gaming, I suggest a dual-boot system. If you just have a few apps like MS-Office that you want to use, you can maybe get away with a virtual machine.
3. From personal experience, I've found that a 30 Gb partition is more than enough for the entire Ubuntu system, including all applications I install, and full graphical environment (even KDE), and a little data. That won't leave a lot of room for user data, though (maybe 10 Gb or so will be left for user data), but that may be fine for you.
4. Related to point 3 above, if you intend to share data between the two systems, it may be worth making a separate partition (NTFS-formatted) for data, so that both operating systems should be able to access the data.
Edit: On point 2 above, I assumed you were asking about putting Windows on the virtual machine, but I have re-read the question and realize you may be asking about either. In the case of Ubuntu, it would be relatively trivial to put Ubuntu on a Virtual Machine with the Windows system as a host. In fact, if this is really your first time using a Linux System, or you are planning on doing a lot of experimentation to get yourself familiar with Linux, I would even recommend it. I remember going the hard route of making Ubuntu my only system when I first started experimenting, and I probably destroyed my system 10 times or more in the first month alone because I had no clue what I was messing with. Always remember to back up your data!