Hello, I am wondering if it is possible for a private key to have a validity period. And if so if there is a possibility to reactivate it?
And can I check somewhere if the money in my wallet has been moved when I only have the public key?
You can write a smart contract which will automatically move the funds if they are not being used for a specific time or until a specific block is mined.
There are also a couple of new wallet(s) coming out with this feature. So it's not a private-key per-se but rather a wallet with a private key that has an expiration date/block.
As to your second questions, yes, you have several options to have a watch only address with alert function if the balance change for that specific public key.
You can also write custom tools for this, in python if you run a node locally (for that specific block chain)
/KX