Several possible solutions, best for you to do would probably be upping the _lightmapscale to .125 to generate a higher resolution shadow.
However, you have to make turn those walls into a func_group entity, open entity editor and addd _lightmapscale .125 key to the func_group.
That's a quick way to do it.
However, lightmaps are stretched across a surface, so a func_group that contains 3 walls, a floor and a ceiling would be considered one surface. And the higher resolution lightmap would be stretched across that surface.
As you might guess that means your lightmap might not look as good as you expected.
Solution is to split the walls, floor, ceiling into smaller brushes. Then turn each brush into it's own individual func_group and assign the above mentioned _lightmapscale .125 to each func_group.
Now the compiler will generate same high resolution lightmap but it will stretch it across a much smaller surface, now the shadow will have higher definition, sharper edges and then that fence might show nicely on the brushes.
Bellow is a simple example, on one screenshot i applied _lightmapscale to one single large surface, now it looks good, but the edges are still blurry.
So i split the surface into 3x5 equally as big brushes and made each one a func_group like i described before.
Now the shadow look really good and has some sharpness.
Also try using a light entity in that place instead of light shaders.
As for it becoming invisible at a distance, it's probably cause the "wires" the fence is made of are too thin.
- Several smaller brushes
- Single large surface