It is not, sadly. There was a proposal for an ALARM opcode, but it was marked WONTFIX -

https://github.com/ethereum/go-ethereum/issues/117

I can see why - timers require that you keep your contract topped up with Ether, and making them too easy to create could litter the blockchain with them and impose an overhead on miners.

You either have to have an external caller for your function (as in chriseth's solution), or use a PHP-style "poor man's cron" function that you call from every function in the contract to check and see which periodic tasks should fire -

https://stackoverflow.com/questions/1857741/run-php-script-every-5-10-minutes-without-cron-perl-etc

This kind of solution can also be seen in LambdaMOO code, where events are triggered periodically only when someone speaks, but that's a bit more esoteric. ;-)