This would probably put a lot more strain on the servers, but I would suggest giving each location weather values (hidden of course) with a base for what that location contains (water, high mountains, etc. Inside a Building should have values that are very hard to change, ie very very low).
Then I would decide a starting weather pattern for when this feature launched, based purely on those values.
The base values would not change, however weather effects in place in an area would apply temporary modifiers/multipliers to the location. These temporary modifiers would have a lifespan, however this would be different for each weather effect (for example, strong winds would not die down as fast as rain, because rain is expending itself, and rain would last longer than storms, etc). Certain locations would also have multipliers to the length of certain weather effects, but that is not something for every location (ie the cliffs would have high winds more often, Golemus would have more storms, Necrovion would have far shorter rain etc). Weather that is already present in a location would also have a chance of raising the weather stats in other areas, which would be based both on the weather already present and the stats for that location.
Lastly, I would determine an influence value for spells, and they would affect the immediate area with 100% influence, the surrounding (by map, not necessarily by ease of reach, although that may require each location have it set what its near locations are in the weather database) area by 65% influence, and the close areas (next ring out) by 20% influence. For example, lets say that the threshold for rain is 50 points. A spell might apply 60 points of influence, so the immediate location will begin to rain, but the surrounding area won't begin to rain unless they already have similar weather conditions there, and there is a low chance that further locations would also start raining.
Changes to the weather values should be applied on the hour, with the exception of magically influenced weather.
This would allow the weather to be logical, affect itself (high wind influence plus high rain influence is how you get a storm, etc), and still be able to be influenced by spells (opposite spells cancel each other, like spells increase the duration and chance to spread), as well as incorporating the later option to have different spell strengths (some with higher/lower influence than others, etc)
The main problem with something like this is that it would take an insane amount of coding (even if it would be epic)
But whatever, that's my idea.