One idea I had was to create sort of a "backup" address B for an address A which stores the bitcoins. So what I want to achieve is that you are able to spend your bitcoins with the private key of A at any time. But in case you lose access to the private key of A you are also able to spend the bitcoins with the private key of B but only after a certain amount of time (i.e. blocks) has passed.

Would something like that be possible with the Bitcoin scripting language? And if so, how would one achieve this?