If by "reset/purged static variable" you mean permanently removing variable, then you might consider declaring a static pointer to heap. and deleting it when no longer needed.
otherwise it' not possible to turn static variable into automatic storage variable (stack variable). these are 2 different storage types. you choose either one or the other.
edit:
well both are stack variables, (static or non static), only destruction takes time at different time.
well both are stack variables, (static or non static), only destruction takes time at different time.
I supposed the runtime environment could put static or global variables on the stack, but all the systems I'm aware of don't do that. They are placed in a separate data space.