Yes, you can create a script to lock your funds for a certain amount of time/blocks. For example, this script requires you to wait 2016 blocks (about 2 weeks) after the output is confirmed before you can spend it with a single key:
OP_PUSHBYTES_2 0xe007
OP_CHECKSEQUENCEVERIFY
OP_DROP
OP_PUSHBYTES_33
OP_CHECKSIG
In this case, the script does not in any way permit spending the output before the locktime expires, so it is as you say “completely locked”. However, you can add conditional branches to the script that allow you to skip the timelock if some other condition is satisfied. For example, this script requires you to either wait 2016 blocks and spend with one of two keys, or spend with both keys at any time:
OP_IF
OP_PUSHBYTES_2 0xe007
OP_CHECKSEQUENCEVERIFY
OP_DROP
OP_1
OP_ELSE
OP_2
OP_ENDIF
OP_PUSHBYTES_33
OP_PUSHBYTES_33
OP_2
OP_CHECKMULTISIG










