There are some command-line options:
java -jar VanillaWallet.jar --help
[--help] Show this help
[--version] Show version info
[--log] Turn on logging (into vanilla.log file)
[--which_wallet] Find wallet and show path
[--export_address] Load wallet and show address
[--export_privatekey] Show the private key
[--import_privatekey <privkeystring>] Create new wallet with key
[--export_transactions] Show all tx currently in the wallet
[--resync] Resync the block chain with the wallet (runs gui)
[--fee] Set tx fee for session (runs gui)
Some of these are mostly for debugging, and aren't well documented (or tested) yet, but the private key options may be what you're looking for.
Also have a look at
BitcoinSweep to sweep values from private keys to a deposit address. This also needs more testing, so please report back if you decide to try it.
In either of these cases, when consolidating lots of tiny transactions, you should manually set a high enough tx fee for nodes/miners to accept your transaction. Neither VanillaWallet or BitcoinSweep are yet very smart about applying larger-than-standard tx fees. I've found this out myself - the tx will get to the point of sending, but nothing will happen (or it will get sent and show up on blockchain.info, but no miner will include it for a long time).