I have a few questions about blockchain compatibility.
I think it should be possible to copy a whole blockchain into a new crypto currency, with all the keys and transactions, so that you can restore your transaction history and balances by importing your private key into the new wallet. Is that correct?
Sure. You'd need to import all the private keys from the original wallet (unless you were using a wallet that has deterministic keys, such as Electrum in which case you'd need to import the seed).
If yes, could one modify the blockchain to erase unwanted transactions and move balances into nirvana?
In your newly created altcoin? Sure. There are a variety of ways you could maintain balances that you want, and remove balances you don't want.
Another noob question: If a wallet has multiple addresses, is it possible to tell if they are belonging together or do they all have individual keys, or in other words - can you restore the actual wallet balances?
The addresses all have individual keys. The only way to restore entire balance would be to have all the private keys from the original wallet.
Is it possible to send coins using a secondary address, or will they always be sent with the main address?
Bitcoins aren't sent "with and address" They are sent "to an address". You can choose what address you want to send them to.
(Actually, they are sent to scripts. There is a particular commonly used script that encumbers spending with a signature from a private key of an address. This commonly used script is called "sending to an address" as a common way to describe it)
When spending them, you spend the specific previously received outputs by satisfying the script (which in the case of bitcoins "sent to an address" means providing a valid digital signature).
Some more off topic question about 51% attacks:
Afaik you can take over a chain if you have the longest one in the network (chains, i'm talking about chains!).
As long as your chain satisfies the other requirements of the protocol? Sure.
Would it be possible to speed up the calculation of the chain for such an attack by modifying the block time in the source code and then start calculating, so that you can override far into the past until the last checkpoint?
No.
Each block has a reference to the block before it. You would have to choose which previous block you want to fork from. Then you would have to create blocks faster than the the rest of the network is updating the current chain until your chain has more blocks than the current one.
The timestamp has no bearing on that.
Since the protocol says that your blocks have to meet a particular difficulty, your hash rate determines how many blocks you can solve in a given amount of time.
And finally - how do you trace such an attack AFTER it happened? Are there any traces that can be found in the blockchain?
That depends on what the attacker is trying to accomplish and how careful they are about it.