Yes. In init.sqs (or init trigger, whatever you prefer) add this line:
setViewDistance x
Where x is between 500 and 5000.
I'd say 1500 would be good for a sniper map, but it's up to you to determine the compromise between rendering performance and view distance. The default in MP is around 900 I think, but I've never tested that.
You can also change the terrain detail in MP in a similar way:
setTerrainGrid x
50 is the default MP terrain detail, and lower is more detailed. I recommend going in half-value steps, like 25 and 12.5, to find the detail you want.