Check if %client.light exists when mounting, servercmdLight if it doesn't, %client.light.setDatablock(whateverFxLightDataHere);
Disable the use of servercmdlight when it is in your hand except when you are just using it or putting it away. (So you can't turn it off without putting the torch away)
Do servercmdLight again when you put it away.
This won't make a directional light, though, which would look better.