Jobs B and C are nested within A so as far as I can see from the generated code they are all one SAS instance.
I think I've found a way to do it.
In job A create the work data set as usual.
In job B create a User Written Code node that has no code but has an output work data set. Manually give it the same name and variables as the work data set created in A. It will then work.
See the attached package to see for yourself. Run job A and check the Output window.
Please let me know if you have any better ideas.
Thanks.