But if somebody can compromise your Qubes system (so, say Dom0), then
she could (well her malware actually) just sit and wait silently until
you finally access those secret containers and provide the passphrase
via keyboard (and the malware will capture that).
As a general rule: if your client system is compromised then there is no
crypto/other scheme that could protect your data. Remember that the
malware can be your "eyes, ears, and fingertips", meaning it can observe
everything you would see on the screen, as well as generate
keystrokes/other events on behalf of you.
So, the only solution would be to change your screen lock passphrase
more often. Sure, that's inconvenient.
A better approach, but currently not supported in Qubes architecture,
would be to have deprivliged GUI domain (or multiple-role domains).
Tricky, but we might work on that sometime in R3 times.
joanna.