The guest operating system runs inside the host. The host has full control over everything that the guest does and everything that goes in or out of the guest. Thus any confidential information that becomes accessible to the guest is also accessible to the host. A rogue process on the host can access everything in the guest, assuming that it has sufficient permissions to debug the VM process.
“Hiding” confidential information in a guest slightly improves security in that stupid data-collecting malware won't notice. But it does not improve security against sophisticated attackers or even against some common malware. For example typing a password into the guest is just as risky as typing it into a host process.
On the flip side, running sensitive processes in a virtual machine doesn't worsen security (except inasmuch additional complexity is inherently bad for security). Thus the answers to your questions are 1: no; 2: yes, making your scheme useless; 3: same.
If you want to gain any security from virtualization, run untrusted software with fewer privileges than trusted software, not most. Run the potentially-malware-infected programs in a virtual machine, and your sensitive files and the encryption software on the host or in a separate virtual machine. This doesn't give you absolute security, but it does provide a significant improvement. Ideally, freeze the virtual machines containing untrusted software while manipulating sensitive data on the host or another virtual machine.