You're asking the impossible. Unless it's a factory cab, there's no way for the Axe to have knowledge of what's in the cab block. Even then, how would you handle cab mixes created in the box?
Alright, I'll start this by saying, that I don't know the inner workings of Axe FX firmware; I've done some coding as a teen, but my coding knowledge is fairly minimal, so I may say something stupid. That being said, this is how I imagine it:
To say, that it's impossible for the Amp block to read data from the Cab block is untrue. Any object can read any data from any other object.
What I'm proposing, is for curve data to be stored alongside each cab IR. In other words: Each cab file would have two things stored there - The IR and the impedance curve.
So, you choose a cab, The Cab block loads the IR, the Amp block looks into what cab you've selected in the cab block, and loads the curve which is stored alongside the IR.
It would be up to the Cab IR maker to measure the curve of the cab and store it within that Cab file. Even if it's a mix IR of different Cabs - it's up to the IR maker to store the impedance curve that sounds best to him/her along with that IR. If it's a mix IR of the same Cab, it's easy - it's just the curve of that specific cab.
As I understand, the factory cabs are mostly cabs fractal has access to, so they could just measure their impedance curves and store them alongside the IR.
Problem is, that there are plenty of third-party IR's, and IR packs already made and they don't have curves associated with them. In this case - just use a premade curve of another cab. Pretty much what we already have now.
This is what control I expect the user to have:
In the Amp block, the user gets an option to select where to load the impedance curve from:
Cab 1 slot 1
Cab 1 slot 2
Cab 1 slot 3
Cab 1 slot 4
Cab 2 slot 1
Cab 2 slot 2
Cab 2 slot 3
Cab 2 slot 4
Other (You get the same list of cabs as the Cab block does, but you load the impedance curve, not the IR)