Marie also needed the help of Orwell. Recall that the party returning from FAQ wasn't safe until they were in Orwell's range, not Marie's. What was happening was Marie was predicting if enemy units would enter certain hexes next turn, including the three city hexes, then hexes that Jillian might use as safe points, with Orwell checking that there weren't -already- units in those hexes, along with the hexes along the path.
As for the other question, "If I attack here, does the enemy have enough forces to retake the city in 2 turns?" that would likely require a stack of juice. The more specific you want to be with a prediction, and the further out you want it, the harder it is to make. So you might get an answer to that, but you'd more likely get an answer to if the enemy will enter the city's hex again in the near future. A Mathamancer would only be able to answer this question if you knew all the forces that could be popped and reach in 2 turns, but he could also tell you this turn, 1 turn, 3 turns, etc. and give you exact chances. The Predictamancer may just say "The enemy will enter that hex soon." You might also get some odd results from that question... like they wouldn't have enough forces to retake the city... but they try anway and get super lucky. Or the opposite. They may only have a single piker able to attack in the next 2 turns, but if he got super lucky, he could take it, so yes, they have enough forces to take the city, just not reliably.
Oh, and for the programming thing, you might consider using Battle for Wesnoth
to get your hex stuff done easily. I've never messed with the editor much, but I think you'd be able to do basically all the stuff you want with that, and it would look amazing.