As I pointed out in the comments before, cmake sets a default that should always work and if the value is not set then the user gets a warning if no python bindings are compiled. Of course one can base this on some magic that may or may not be portable. 

However, if the user requests python bindings then ITK needs  a few hours to compile, and IMNSHO it is more friendly to the user to bail out right away and tell the user that she may think about setting some parameters instead of letting it compile away. 

About using cheq-req.eclass: as far as I can see, the ebuild will always bail out if the requirement is not met, which makes sense for build requirements, since the build will fail. But there may be reasons why someone would compile gentoo packages on one machine and deploy it on others that have different hardware specs (e.g. someone has as server to run processing jobs with lots of memory, but compiles the packages on another machine to test the software firsts and also to not interfere with the processes running. In this case, setting a higher memory value would make sense but cheq-req.eclass is not usable.  This is also the reason why automagic values are not such a good idea.