I have a patch I created a long time ago to allow OR logic within a field during a RFM find. This works well for my specific needs, but I haven't tested it extensively. Nor has anyone else ever used this... so usual disclaimers apply: you're on your own. That said, I welcome feedback. If others have success with this, perhaps it could be worked into the main project. When I wrote it, I had all kinds of visions for extending the RFM query logic even further. But so far, my needs have not required anything more.
The patch adds the method Rfm::Layout#query. Use the 'query' method instead of 'find' when you have OR logic within any particular field. Use an array of values as the OR'd find criteria for that field. I believe this works for any number of OR'd values within any number of fields.
Use: rfm_layout_object.query({'fieldOne'=>['val1','val2','val3'], 'fieldTwo'=>'someValue', ...})
Here's the patch. Tip-O-the-hat to Larry, Geoff, and all the other contributors to RFM.
Bill