Andreas Schildbach (Android Bitcoin Wallet) has done some work on creating offline transactions using bitcoinj.
He posted about it here:
http://groups.google.com/group/bitcoinj/browse_thread/thread/a043ad96ebb2401aHe produces QR code representations of the transaction and has proposed a protocol 'btctx' for them.
I have put some test code in MultiBit to read the QR codes he generates and then fire them off to the bitcoin network and that works ok.
He has made some refinements to do with compression of the transactions so you might want to contact him directly - he has an account in bitcointalk as 'Goonie'.
His code is open source and I am sure he would not mind you reusing it.