it's easy to do this if you can parse wallet.dat yourself. but without doing that, there ought to be a relatively straightforward way to do what you want:
keeping the 'large' wallet off of the public internet, connect a new, private, uncompromised node to it alone and make an ip-address (public key) payment of the smaller amount you want to spend. then disconnect the 'large' wallet's node, connect the recipient's node to the public internet, confirm the receipt, and spend the coins from there.
obviously you can't spend coins without attaching something to the network at some point, but the goal is to segregate your large holdings from the public internet.
if this method is too complicated, you could of course generate arbitrarily many private wallet.dat files and store small amounts in each of them, then move them over one by one. it wouldn't be hard to write better software tools to avoid the need for these steps, though.
Well, since it'd be a (long term) savings account, I wouldn't need to actually worry about it for a while, so hopefully when the time came to spend it (maybe 2 or 3 years), there'd be a lot more sophisticated wallet-parsing tools around. So I could split off a few BTC at a time and transfer to a net-connected PC via flash drive.