the carb has to be open so that the butterflies don't restrict the air flow and give you an artificially low reading.
As for calculation for altitude... I can't imagine why you'd worry about this, cam timing, plays a large role as to static compression ratio - thus, unless you know the cam and compression ratio - the numbers are meaningless(ish) (you could use the numbers to determine whether or not you need to run super unleaded)
You want the engine warm because the aluminum pistons have a different expansion rate than the steel liners (or iron block) - thus, when it's cold it would give you a lower reading.
which brings me to... if you're testing to see whether a motor is good - you need to know 2 things: 1) is the compression more than 110 psi. You can make a motor run at 90 psi, but it does not ever run well; and 2) you want the readings to be within 10% of each other. Wide variation or one cylinder (or more) that is substantially lower than the others is a sign all is not well.
In addition to the compression test, you could also do a leak-down test... but that test... frankly, I've never done one where it's told me anything I don't already know...