Optimizing fee payment for speed or zero fees/privacy? (Clients vs. e-wallets)
The amount of bitcoins transferred is not the scarce resource you are paying for, disk space is. The distributed ledger that keeps track of the balance of each address is replicated on all participating nodes. That means that each KB more in your transaction is replicated thousands of times.

For the speed: all transactions are treated equal (except if they are deemed invalid as they in the case of a double-spend) so they are distributed over the network with the same speed. The fee comes into play once many transactions are available to be included in a block, i.e., they are still unconfirmed. As blocks have a maximum size (currently 1MB) there is a limited number of transactions that will be confirmed by a block. Miners will try to optimize their revenue from transaction fees of transactions that are included in the block, filling up with transactions that do not include fees.

Adding a fee to your transaction will increase the probability of it being included in a block, i.e., being confirmed.

The transaction size is dependent mainly on the number of inputs that are claimed. As the number bitcoins from an output have no influence on its size the number of bitcoins transferred in a transaction does not influence the transaction size.

As for e-Wallet internal transactions: they are likely not handled by the Bitcoin network but internally, thus completely independent from the network rules.