Hmm… So what about:
You go to subA, pick up the torch. Save game gets the player has torch set.
You can go anywhere else and eventually:
Restart the game in subG, the player ( or inventory system ), sees the ‘player has torch’, so you can use it.
When you reenter subA, the torch spawns but reads the save game and sees it has been picked up and destroys itself.
That works, no?