The network is still vulnerable to DDoS attacks, so this whole aging seems to be an unnecessary part
This is designed to prevent a very specific type of DDoS attack. Prior to the creation of this fee requirement, it was possible for a person to set up 2 wallets and write a program to just bounce 0.00000001 BTC back and forth between them as fast as possible. This would create a huge number of transactions that every bitcoin node would then try to send to every other node. The effect would make it very difficult for legitimate transactions to get through. By requiring fees in the described situations, it becomes prohibitively expensive to engage in this sort of DDoS attack, while still making it either free or REALLY CHEAP (a bit more than one half a U.S. cent at current exchange rates) to send most legitimate transactions.
a) Suppose that I receive 1 BTC, and later another 1 BTC. Then I want to send 2 BTC to someone. In this case do I have two inputs, the 1 plus the other 1 BTC I had received?
Assuming that these are the only 2 coins in your wallet, then yes, it would generally be true that your 2 BTC transaction would have 2 inputs of 1 BTC each.
(And what if I've received 5+1+1 BTC, and want to send 2 BTC? Then I'll have 1 input if the system cuts out 2 couns from the 5 BTC received before, or I can have 2 inputs if it pairs 1+1 BTC together...)
It seems you are starting to understand this a bit. There are some exceptions, but it generally works the way you are describing it.
b) If I have 2 BTCs, and wanna send 1 BTC to an address, and the other 1 BTC to another address, then these two transactions go into the same block, and they are the two "inputs". Is this true, or a) was true? Maybe a third one?
This is going to depend on how you received those 2 BTC. Were they both received in a single transaction as a single "output", or were they received as 2 separate transactions each with 1 BTC as an "output"? It will also depend on how you send them. Will you send them as a single transaction with 2 "outputs", or will you create 2 separate transactions?
You could have a single transaction that has a total of 2 BTC in its "input" (or "inputs"), and 2 "outputs" of 1 BTC each to a different address.
But consider this example:
You are using the Satoshi client. You receive 2 BTC as a single "output" and have nothing else in your wallet. You send 1 BTC to a friend with a single transaction. Then a moment later you attempt to send the remaining 1 BTC to another friend in a separate single transaction. How many "inputs"/"outputs" are used?
Well first you have the 1 "output of 2 BTC to the address you gave to the person who sent them to you.
Then the program uses that single 2 BTC "output" as an "input" for transaction number 1, creating an "output" of 1 BTC to the address of friend A.
What happens to the remaining 1 BTC from the 2 BTC "input"? Well, if you did nothing else, the miner that included that transaction in a block would receive the remaining 1 BTC as a transaction fee. This is how fees work in bitcoin. You use up as "inputs" a bunch of previously received "outputs" that have a sum that is greater or equal to the amount you want to transfer. Then you create new "outputs" for each transfer. If the "inputs" are greater than the "outputs", the miner keeps the difference as a fee. Since you don't want to pay a 1 BTC fee, what the client does is create a new address that it doesn't bother telling you about, but keeps stored hidden in your wallet. When it creates the transaction in the first sentence of this paragraph, it creates a second "output" of 1 BTC in the same transaction sending that 1 BTC to the new hidden address in your wallet.
Now when you create transaction number 2, the program uses that single 1 BTC "output" from that new address as an "input", creating an "output" of 1 BTC to the address of friend B. Note that this is a newly created 1 BTC "output" from the transaction in the previous paragraph. If you haven't waited approximately a day between the first and second transaction, you will find that your transaction may not be relayed without a small fee.
Oh, and how do I know the age of my coins? Or do I have to care about it at all?
You generally don't. If your coins aren't aged sufficiently, the Satoshi wallet program will let you know that a fee is required for the transaction. If the coins are aged sufficiently, then the program will allow you to create the transaction without a fee if you wish.
As far as I understand things I can send bitcoins as fast as I want, the only drawback can be that the coins will travel slower to the destination if I send "too young" coins.
Not exactly. If the coins aren't aged enough, and you are using the Satoshi wallet program, it will generally prevent you from creating a transaction without a fee. If you choose to use some other program (perhaps one you or a friend have modified?) that allows you to create a transaction with no fee in that situation, then you may find that all the nodes that you connect to refuse to receive or pass along your transaction.