For question 1, you may try a "fired" event hander, which also would try to detect the laser dot coordinates. But even it this case, always exists the posibility of having two units using the designator at the same time over the same area. To solve that case is a "bit" more difficult, you need the weaponDirection command.
This command returns the direction vector of the unit's weapon (note that this is a vector, not a direction in degrees). Lets say you get that vector in the "fired" event script. Now you detect the presence of laser designators (as resolved in question 1) and you get also its deviation in relation to player, that is, the direction where the player should head to align with that "object". The angle difference between the laser object of the player and the weapon direction of the player should be minimum, in fact, quite close to 0, this way you may be sure that a laser object out of many ones present, is the laser dot of the player.