Besides of supporting it or not, I personally put businessobjects in their own database (or at least their own tables) I just use a businesskey in jBPM to reference businessdata and store some (a small amount) of businessdata in the process. Plain string variables
There is some shortcommings:
1. How You store references of lists of business object (for egzample many clients)
2. As i understud you have to quite big amuot of variables tu store -> business object name, identifier (which of business object), and if there is a list of objects... and if this list is dynamic... it's quite hard to do it. I think better aproach to have this functionality in pvm or JPDL
Putting actual values as process variables is only practical for small data requirements.
If the data associated to a process is complex, you should consider buiding a complete domain model for it and persist it with e.g. hibernate. Then store a reference to that object in the process variables.