Problem with having so many questions is I can't answer them all, so I'll just pick a few.
1 - use the distance() expression to pick enemies within a certain distance.
4 - I think using choose() would work here, with this you can even make one imagepoint be preferred to another.
5 - On bomb explode pick all enemies - destroy. or if you only want enemies within a certain distance of the bomb, you could again use the distance() expression.
6 - easiest way I can think of is having a seperate collision-sprite to check if the top is collided with.
8 - if the regions are square, you could check the x and y positions of objects against the top and bottom y and left and right x of the region.
9 - Something like that should work
Good luck!