At this point I'm probably beating a dead horse and even other geeks are staring at me thinking "what is wrong with that guy?" but I find that basic trigonometry has the same sort of appeal as sudoku, so I worked through the stack calculation to figure out how to get the point where the plane of the steering axis intersects the plane of the wheelbase (the lack of which was the main reason my above stack calculation was only approximate) and in the process figured out why my estimate was close without taking headset stack height into account (the two errors nearly offset one another).
While recognizing that most people won't care, I thought it would be worth recording the results here for the benefit of future Google users.
Using the Pythagorean theorem, it's simple to calculate the virtual fork length (i.e. length along the steering axis) from the actual fork length (F) and the fork offset (O). This gives you a virtual fork length (V) to some point below the plane of the wheelbase. However, the triangle created by V, F and O is intersected by the plane of the wheelbase to form another triangle. The angle where the plane of the wheelbase intersects V is the same as the head tube angle (A) and angle V-O is a 90 degree angle. Using the law of sines, we can use this information to calculate the distance that V extends below the plane of the wheelbase axis thus the distance from the fork crown to the plane of the wheelbase along the steering axis (V').
(hand waving)
V' = sqrt(F^2 - O^2) - O*[sin(90-A)/sin(A)]
Going back to the 60cm Salsa Vaya specifications for a sample, I get
V' = sqrt(405^2 - 45^2) - 45*[sin(72)/sin(18)] = 387.87
Now, going back to my equation for stack above, replacing fork length with V' and including a factor for lower headset stack height (h), we have
S = sin(A) * (V' + h + H) + B
The listed lower stack height for the Vaya's headset is 12mm. This is a pretty good guess for any no-integrated headset, I think.
S = sin(72) * (387.87 + 12 + 215) + 75 = 659.77
This compares favorably to Salsa's claimed frame stack value of 660.7, I think.
So you can calculate stack and reach from the typical geometry specifications.
Since I assume that only my fellow geeks are still reading at this point, I'll mention that while I was doing this it occured to me that it would be possible to calculate the slope of the top tube from actual and effective top tube lengths and the seat tube angle. In the tradition of my favorite math teacher, I'll leave that as an exercise.