You can check the distance between your Light2D and each item. Vector2 already has a built in distance_to function. Then you do something like
light.texture.get_size() * light.texture_scale and see if the distance is less than that. As for level of illumination, I guess you'll have to scale it by how far something is from the center of the light.
Just thought of this one. Alternatively, you can add a CollisionShape2D as a sibling of the Light2D, and both a child of some collision body, and let that find out if anything is inside. The thing creating the explosion and the things affected by the explosion would have to be some kind of collision body for this to work.