That is surely possible.
If you want to create a new token, specifically designing such a requirement is feasible. I think even if you want to use a native token(ETH) instead of a brand-new token is also possible. The thing you need to look around is Hash Time Locked Contract or HTLC, you lock the coin on a predetermined hashtime which can be calculated around the specific date you want to redeem.
For further information, take a look at the GitHub repository that seems to implement the three things you want:
https://github.com/chatch/hashed-timelock-contract-ethereum. Do your own research, I only skim the repo.