There are mods that do those things, yes. Except weather, it can be faked with shaders or fx_runners, but JO just won't do it in MP.
Your idea for the lights would sort of work. Yes, you can toggle the brushes, however the lightmap will not change. It was created with the light emitting shaders, and it will always look that way. You could fake it by using textures that are brighter/darker, but the lighting on the player will not change regardless of what state the "lightswitch" is in, so would look odd.
You also run into a problem because by default (as in no mod), the func_useable will disappear if a player presses Use while close to it. I would use a func_relay and use that to simply change the shaders. It would have the same partial success, but at least my walls wouldn't vanish if they were used.
I know little about code, but my brother is a guru. So I can pass along any questions you may have to him if you post them here.
Good luck on your mod!