I have a personal logic issue on a regular basis that you seem to be expressing here. It's that sometimes you're looking at the logic and programming from the wrong direction entirely. In this case, you seem to not be realizing that from the beginning you know which is happening, because of the logic code. You should already know, programmatically speaking, whether he's on the ladder or not.
Think about it (as I said, I often have this problem). The games logic should know you're on the ladder, supposing that you're being a smart programmer. For a better explanation, I have a file archive type, and wasted about an hour of a day trying to figure out how to get the size of the data and I never once stopped to think that, when I load in the file, I now know its size :P.
The reason why this relates so exclusively, is that you're looking at it as "Now that I'm in the air, how do I figure out if I'm on a ladder or jumping?"... When you should really think "I'm about to get in the air, but by which method FIRST, so that I can use it for the animations use."