Shooting fireballs downward is cake-- create an event for the fireball. Set the move route. Set the fireball event to "Event Touch" and have the event commands explode, do damage, and remove the fireball event.
Following, also simple-- make the move route "Move Towards Player."
Timing-- trickier. You'll need a separate parallel process event tracking how long the fireball has been there, and turning the event off with a switch when it's been long enough. But certainly feasible.
Colliding with a wall, though-- that's harder. I can think of two options:
1) Get a script for this. I'm nowhere near skilled enough to help you there.
2) If you are using XP, you can use Terrain Tags to check what kind of square the fireball event is on. If you then make the tiles surrounding the walls have a distinct Terrain Tag, a parallel process event can check the terrain tag of the fireball, and have it detonate harmlessly if it hits one.