This isn't a rules problem, it's a diva problem.
A player who wants the attention of the game focused on him and his awesomeness - by using attacks that let him dominate the battlefield and prevent other players from participating, or by getting upset and hogging your attention (via arguing about the rules) when he can't do so - is a diva, and needs to be handled as such.
Before doing anything, though, you need to determine how much his spotlight-hogging is bothering the other players. Do they get frustrated when he dominates combat and prevents them from joining in? Or are they happy to sit back and let him kill monsters, while they handle other things?
If everyone except you is generally happy with the status quo, then it's probably best to just let it go, and take that into account when building encounters. Give lots of mooks for the wizard to spam with Chain Lightning during combat, then give the other players spotlight time by including whatever type of scenario they enjoy. Let the wizard have his awesome. (Although if you don't enjoy this, then consider winding down the game and starting a new one that better suits your own style.)
Otherwise, assuming the other players also don't enjoy the wizard's behavior, you have a few options:
Enforce Your DM Authority
You're the DM, and you've already used that authority (however accidentally) to create houserules that benefit the players. Now use your authority to enforce houserules that don't benefit the players. When the wizard complains about a ruling you've made, say, "This game uses a lot of houserules. This is one of those houserules. Because of that, the rule you're citing doesn't apply in this case." As others have suggested, it may help to write down all your houserules explicitly, so that when the wizard tries to argue RAW, you can point to a specific houserule if applicable.
This is a socially tricky option, since it's likely to make the problem player feel punished. However, as long as you're consistent, polite, and firm, any tantrums he throws will reflect badly on him rather than you.
Reset the Rules
You say you have a bunch of houserules that mostly happened because you as a new DM didn't know any better, yet your wizard is trying to fight you with RAW. Explain to your players that keeping track of all your accidental houserules is becoming a problem, especially as the PCs increase in level and the math to balance things gets trickier. Then declare all house rules null and void, and require that play operates strictly on RAW from now on.
This option may be technically tricky, depending on the specific nature of your houserules. It may require reworking characters who've been built around the assumptions in the houserules. You may upset some of your other players who've been benefitting from the power-ups the houserules provide. And you'll almost certainly upset the wizard, who from your description will probably feel like he's being nerfed. However, you can point out - without naming names - that since your group is spending a lot of time during game going over the RAW, making sure all the PCs conform to the RAW will reduce that non-game time and let you spend more time actually playing.
Boot the Wizard
If the wizard's arguing is making the game not fun for you and the other players, but everyone else gets along just fine with each other and your houserules, then it may be best to simply stop playing with him. The easiest way to do this is to speak with the wizard privately. Tell him that you've come to realize that his playstyle is very different than that of the game you're running. Explain that this difference is making the game not fun for you (and if you know that other players don't enjoy his arguing, you can add "and others in the group", but absolutely don't name names). Tell him his character will be dealt with respectfully in game, and (if it's true) say that you'd be happy to game again with him sometime in the future, in a setting more compatible with both your playstyles.
This is another socially tricky option, but if this player is sapping all your game time arguing with you about the rules and hogging the spotlight, then it may be better for everyone to cut him loose.
Nuke the Game and Start Over
This is, well, the nuclear option: wrap up your game (could be as simple as "rocks fall everyone dies", or take a session or two to provide closure), then start a new game that either doesn't use houserules, or which has explicit agreement from all players that houserules will be used, and only minimal game time will be given to debating them (e.g., when dealing with a corner case). You can choose whether or not to invite the wizard back to this new game; if you think he'll continue to argue with you and hog the spotlight, it might be best - for your own sanity - to not continue to game with him.