I think I have an idea for casting spells multiple times in combat. I'm not sure if this has been suggested before, but here goes. I think a spell's level should be converted to a corresponding number; so level 1 spells = "1", level 2 spells = "2," and so on. These will be your tactical combat spell casting points. In combat, your spell casters (all of them; this will be a global number for all of your spell casters, maybe) can only cast as many spells as the spell casting points. So if you have 3 spell casting points, casting a level 3 spell will lower your points to 0, so you're done for the turn. So this would allow you to cast 3 level 1 spells, IF AND ONLY IF, you also have the speed points to do those many actions (to balance it out; otherwise you'd cast seven level 1 spells per turn = bad idea).
So you and your spell casters gain a point per level of spell research. At level 0 research, they maybe have 1 spell casting point, for the beginning spells. So when you get to level 5, you have 6 spell casting points, so each caster can cast, say, a level 4 and a level 2 spell in combat before they're out of spell casting points (and possibly out of movement points as well).
Then you could go even further if you want to make it more epic: long, complicated quests and accomplishments that can raise the number by 1 per quest, maybe? This might give your spell casters some more power to them and make the actual combat casting a bit more fun.
If this has already been suggested, please disregard.