So, well, data size and output amounts are not the only criteria... what are the others?
The coin selection algorithm (which is continually revised, version to version) will avoid using the newest coins if it can, to avoid the transaction being considered "low priority". So the age of the coin is a factor that weighs when the client estimates fees. I'm not sure the specific algorithm but the rule of thumb is after a day the coin can be used without causing the transaction to be considered "low priority".
The reasoning behind this is likely an anti-spam protection. Without this, the network could be spammed continually by sending larger BTC transactions back and forth and cause grief without paying fees. Griefing with larger transactions can still be done without a fee, but not without having a wallet with a large amount of bitcoins so that no coin is used in transactions more than once a day (roughly).
Here are some other sources of information on fees:
- http://bitcoin.stackexchange.com/a/3403/153
- http://en.bitcoin.it/wiki/Transaction_fees