I have done some work on my code and shelved it, then I had to apply a patch to the code from a shelveset to get things working properly. I then had to fix something else in the code and now wish to make a shelveset, but without the patch, so I want to undo the shelveset that I applied.
Is this possible and if so, how?
Given the state you're currently in: No.
If the original shelveset still exists you could "undo pending changes" then reapply the original shelveset.
There is no local history available to you.