I don't think that you can make it work with the virtual attribute. Did you check if you can make it work with a "normal/static" container element? Does changing the container element value have an effect to the deadline, or is the deadline set fixed in the moment when the work item is created?
It might be that if you really want to change the deadlines of an existing work item, you need to find some function to do it. You can change the deadlines in the work item change mode, so you could debug how it is done. There seems to be no SAP_WAPI-function for this. SWW_WI_DEADLINES_CHANGE might do the trick. Even if you find a way to change the deadlines of an work item, then you still might have the problem that where/how to call the function, right?
One option (depending on the actual requirements) might be that you just forget using the latest end. You could have a parallel branch with you current step, and in this parallel branch you could perhaps put a "wait for condition type" of step. Wait for the deadline to be reached. (It might even work with the virtual attribute!) When the condition is reached, continue the workflow or do whatever you are aiming to do.
Kind regards,
Karri