You can create variables execution time using methods like setVariable etc. in execution service. You can use those variables in your custom execution code using OpenExecution.getVariable/getVariables.
Since the variables are completely dynamic in nature, you cannot statically declare them in the jpdl xml.
Thanks for your quick reply - I am also wondering which version of jBPM I will need to use, at the moment I am using 3.2.3 - I'm assuming that I need to switch to a 4+ version?
oops...my reply was based on Jbpm 4.2. I do not remember the exact behaviour in jbpm 3.x, i need to check my older project.
But it might be a good idea for you to switch to jbpm4 if possible.