Is there a way to add new custom selection rules for panels? I find the pre-supplied list of selection rules to create panel variants to be quite lacking.  For instance, if I am using panels to override taxonomy term pages, and I have some arbitrary boolean field on each term (say, "Is Blog?"), then I would like to create a panel variant based on this field being equal to TRUE. 

However there is no such flexibility when using Selection Rules to create variants.  Am I alone in thinking that this missing functionality greatly diminishes the power of Panels and panel variants?

How would a site builder, or developer, go about creating new "custom" selection rules?
We initially did it the way that you did. However, after a site security audit, we were told that we should not include PHP in that way (even though it's there and available). The solution is to create a custom rule using ctools access plugins. This page has an excellent breakdown of how to do it. We now have about 5 or so custom ones we use through custom modules.