Thanks for the various inputs. I'm afraid the issue is as @Mark Barinstein describes:
"The problem described here is not about not optimal queries leading to SQL0659N, but on inability to get the object hitting the limit"
I did eventually solve the problem by introducing an MQT with dedicated Tablespace and BufferPool resources, but the issue for me is locating the actual object that the SQL0659 is referring to. The diagnostic log has no relevant info and the diaglevel is set to the default 3. I know the application and I know that it's not a cartesian product as previous executions have worked, and the SQL does work when embedded in an MQT.
I think this is just exposing a lack of detail in the error message. A lot of (most) error messages will give you some detail and point the finger at the offending article. For example SQL0407 might give you some internal IDs and you might need to run a query against using "TBSPACEID=n1, TABLEID=n2, COLNO=n3" but you can find the object in question. SQL0659 just says that the size of a table object has been exceeded.
We've probably gone as far as we can with this folks. I don't think there is currently a solution so I will try my luck with the IBM Ideas Portal.
Regards
Mark Gillis