did you consider implementing ExternalActivityBehaviour and using the <custom /> tag, in the execute() method you can access whatever variable you want:
[...]
public void execute(ActivityExecution execution) {
Object variable = execution.getVariable("variablename");
}
[...]
http://docs.jboss.com/jbpm/v4/userguide/html_single/#custom