No and yes,
you may assign a script to be executed every few fractions of second that gets in _this the current position of the particle, using this position you may try to detect nearby houses. But you may do the same creating a rect line "calculated" from the placement of your lightsource, if getPosASL fails when executed over a tower or a building, just add a parameter to your script for altitude correction, that should be just the height of the tower.