Each photon, when it strikes a surface, should have a record of which direction it came from. When you gather the photons, you must push them through the surface's BRDF to see how much output light they contribute to the direction you're gathering from.
However, the N . L factor is NOT in the BRDF and should not be included. It will be taken care of by the geometry - fewer photons per unit area will naturally land on the surface when it is at a greater angle to the light source. Likewise, you do not need to attenuate the photons based on distance from the light source. That is also taken care of by the geometry, since fewer photons per unit area will naturally land on an object far from the light.
You should pick up Henrik Wann Jensen's book on photon mapping if you're interested in this - it explains everything in much greater detail.