How do you calculate the transaction fee when sending to multiple addresses? I am sending 50mBTC to 10 Wallet Addresses in a single transaction. What transaction fee should I add to the entire transaction? 0.1mBTC?

Following on from that, what is the maximum number of addresses I can add to that single transaction that keeps below the 10kB threshold?
I use the following formula:

148*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 kB (1000 bytes) of the transaction, so you should be safe by using 0.0001 BTC per kB as the fee.  Note that the transaction size is rounded up to the next kB.  So a 1001-byte transaction will be charged two transaction fees.

More information here: 
Protocol specification
Transactions