The problem with trying to cache is that the JSF and Facelets tags are implemented as JavaBeans and they're not allowed to preserve state for things like this since there'd be no way to easily track on a tag-by-tag basis - the same tag bean is being used for all usages of that tag. You'd have to write your own custom tag that tracked things somehow and did the call only once per field. Not impossible, but probably not worth it.
In my own experience, it's better to use booleans and other simple expressions on JSF EL anyway, so I recommend doing what Alim said.
Customer surveys are for companies who didn't pay proper attention to begin with.