This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
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.
An IDE is no substitute for an Intelligent Developer.