This idea reminds me of:
http://research.cs.queensu.ca/home/jstewart/papers/tvcg97.pdf
which I had in my Typhoon engine about 10 years ago :)
The paper describes an elegant algorithm for computing the horizon of a heightmap but my guess is that a brute-force approach could work reasonably fast on today's machines, even for large datasets.
Note that you'll need more than two points for representing the horizon unless you constrain the sun to follow a fixed arc (how is this arc called btw ?) You can use the horizon information for approximating the AO too (or you could approximate the visiblity with a cone in this case, as described in a paper by ATI).