For your first issue you can use sub events so that you can have the AND & OR events. Make a high level event something like: Object xxx exists and then nest your other events under that.
I just want to clarify when you say 'casting your laser' are you talking about using RayCasting?
for the second you can use a "for each" event to apply your conditions to each instance of an object.
so
For Each xxx
Is distance(xxx.x,xxx.y,laser.x,laser.y) < minimum distance - Destroy xxx
This will only destroy the instances that meet the distance condition