http://bitcoin.stackexchange.com/questions/17330/how-do-you-calculate-the-transaction-fee-when-sending-to-multiple-addresses148*I + 34*O + 10
where I is the number of inputs and O is the number of outputs. The actual size will vary by I bytes since an extra byte is prefixed to an address that starts with 0x80.
The transaction fee is for each KByte of the transaction, so you should be safe by using 0.0001 BTC per KByte as the fee. Note that the transaction size is rounded up to the next Kbyte. So a 1001-byte transaction will be charged two transaction fees.
https://en.bitcoin.it/wiki/Protocol_specificationmost transactions will be well under 10kB
if your outputs are over 0.01 its going to be free
and the larger the transaction the higher priority it will get
if an output is less than 0.01 BTC use 0.0001 BTC per kB rounding up to nearest kB