pull down to refresh

Every bitcoin address is really just a locking script (learnmeabitcoin is good on this). So you could create an address with a timelock that applies to all the coins sent to that address. But I don't think it would be a good idea.
Timelocks in Bitcoin are super confusing because there are a number of ways to do them.
You may have heard of nLocktime, which is a field in every bitcoin transaction. You can include a value here that is interpreted either as a date or blockheight and its inclusion means that the transaction will not be treated as valid (won't be mined into a block) until that date or blockheight is reached. This kind of timelock doesn't apply to coins, but rather to the transaction and is probably the least useful kind of timelock and it definitely wouldn't help you do what you describe.
There are also timelocks that are enforced by Bitcoin Script. You may have heard of CLTV and CSV. CLTV is a way of locking your coins so that they cannot be spent until a certain blockheight or date is reached. CSV is a way of locking your coins so that they cannot be spent until a certain blockheight or timelength has passed since the utxos were created.
Here's a CLTV example: you generate an address with a locking script that uses CLTV to lock any coins sent to that address till block 950000. After a transaction is confirmed where you send coins to that address they won't be able to be spent in another transaction until blockheight 950000 is reached. If you send new coins to this address, they also won't be able to be mined until 950000.
Here's a CSV example: you generate an address with a locking script that uses CSV to lock any coins sent to that address for 1000 blocks. After a transaction is confirmed where you send coins to that address, they won't be able to be spent in another transaction until 1000 blocks have passed. However, if you send new coins to that block, the 1000 lock timer will start fresh for those coins, but not the ones that were already there.
Very few wallets (I believe you can do it in Sparrow) allow you to do customizable CLTV timelocks because of the risk of locking coins for a long time. If you get the number wrong, there is no recourse. Also a long timelock (5+ years) risks that Bitcoin changes in the meantime.
Wallets like Liana, Nunchuk, Keeper, and Bitcoin Safe allow you to do CSV "relative" timelocks, usually in conjunction with other paths to spending so that it's harder to shoot yourself in the foot. The downside is that these relative timelocks have to be "refreshed" by sending the coins to yourself to restart the timer. This is a pretty safe way to use timelocks and might work for your use case.
As to reusing addresses:
Remember from the top of this comment that addresses are just encodings of the locking script on your coins? A wallet is a way of generating a bunch of these addresses that all have the same locking scripts except that they require a signature from a different private key. This different key is derived from the master key to the wallet. Using this kind of construction helps to preserve your privacy by keeping the inputs separate until you decide to combine them in a spend.
So if you are determined to do something like this, I'd suggest creating a wallet and generating a new address for each time someone wants to send coins to it.