There is a command to lock coins when you make a transaction by RPC in simplewallet. I don't think it's implemented in the command line interface. It's the unlock_time parameter in the JSON RPC transfer, described in the source code here:
https://github.com/monero-project/bitmonero/blob/eb1b87d2393f34caa9698bec23a4b78fa57da752/src/cryptonote_core/cryptonote_basic.h#L169
uint64_t unlock_time; //number of block (or time), used as a limitation like: spend this tx not early then block/time
I think if you pass it an integer smaller then the current unix time in seconds, then it will interpret it as a number of blocks, and if it is larger than the unix time then it is interpreted as a time when the coins can be spent, or if it is zero then the funds can be spent immediately.
You can find a description of the JSON format for making RPC transfers and an example of one here:
https://wiki.bytecoin.org/wiki/Simplewallet_JSON_RPC_API