I think you could try to override __call , which handles Doctrine automatically get / set stuff and maybe __get and __set too. Then, in these functions, view the table metadata (you can get this via getTable() and the method in the table class). Metadata contains the type of the column, so just check to see if it is the type you need.
That way, you can simply override magic methods, and they should handle it for you. I remember, you could also put this in a custom class that inherits from Doctrine_Record, and then modify the settings of the Doctrine model generator so that it uses your own record class as the base.
Take a look at the Doctrine API documentation (or their source code, it's pretty clean) to find out the features I forgot :)
source share