I don't work with WIM much, but I do pass call variables back to ICM in EIM.
I do a database dip in EIM and run a stored procedure passing over the email address, which returns a structured string that I pass up to ICM for routing decisions.
You need to declare the variables and set them as coming up on the queue (which is mapped to a script selector) and then your workflow has to load them up before the Queue node.
Regards,
Geoff