The only problem I see is the any coins moved to a vault would need to be confirmed by the network when moved into the vault and confirmed when taken out of the vault to make sure that someone doesn't just come up with a vault file and fill it with coins. A unix-style pipe instead of a socket would make moving the coins over any link (tty, usb, serial, etc.) or media increasingly easy but, the problem again is the move would need to be confirmed to prevent cheating which requires internet.
I'm guessing here but, I think it would be possible to make a new "vault" address in the client and obtain the private key for that address from the wallet file. Somehow bind the address to a vault file and have the client transfer the coins to the "vault" address. The network would try and send the coins to the vault address which is off line. Once you move the vault back online the network should confirm the vault has the coins. Might be able to do something like this with two wallet files but, I think there is a bit of risk involved with what I described.
Having a method of doing off-network transactions would be pretty neat, I think we could open bitcoins up to more "everyday" transactions. The transactions could go into a batch and then be processed when internet is available. The only problem I could see is a case when someone overspends the coins they have and leave the receiver high and dry or simply doesn't send the coins at all but, thats probably not a problem so much with bitcoins as it is with people
