How can I specify transaction fee size when creating a raw transaction? Question: Am I able to specify the transaction size in a raw transaction without having to send "change" back to myself?

I get some unspent bitcoins

listunspent()


I grab the txid, vout, and scriptPubKey for each
Then I get the list of all the addresses and quantities that I want to send to

createrawtransaction(source, destination)


Let's say my total unspent is 1.00000000 BTC, the total I want to send out to all the addresses is 0.50000000, and it'll be about a 3100 byte transfer that I need to pay 0.00040000 fees for.
The way I currently build the destination addresses is to place the address it's coming from (myself) as unspent - tx fees - outgoing, so that would be 0.49600000, the destinations would all be specified, and the fee remains unspecified but deduced by the remainder.

So, this is working for my purposes, but is a little inconvenient. The amount that I'm not sending to anyone sends back to myself and has to be reconfirmed so the funds aren't available until then.

If I had a single unspent address with 100 BTC and needed to send 1 BTC to 15 people, it doesn't seem to make sense to temporarily lock up 85 BTC in the process. If I were to use a client and manually send 1 BTC at a time, the unused funds would remain available, so I feel pretty confident what I'm asking for is possible.
Any assistance would be most appreciated.

NOTE: I'm using bitcoind now.
The fee is the difference between the inputs and outputs, so you can specify the fee by leaving that amount unaccounted for in your transaction. 

Be careful though, this has lead to 200BTC transaction fees in the past when someone forgot to include a change address: http://www.reddit.com/r/Bitcoin/comments/1lb5my/asicminer_refunds_the_accidental_200_btc/