I've been struggling with this concept for the past few weeks. Let me set up an example to demonstrate what I'm trying to do...
If you imagine we are looking from (0, 0, -1, y-up) at an airplane model, I want a user to be able to rotate the airplane in such a way that despite previous rotations, X rotations will always appear as the far point of the plane coming to the bottom, Y rotations will always appear as the far point coming to the right, and Z rotations always appear as the right point coming over the top.
In example, if we've already rotated the model to have the nose looking to the left and the left wing to the bottom, no matter what rotations we applied to get the model in that position, an X rotation of 90 degrees is guaranteed to cause the left wing to point toward us, OR a Y rotation of 90 is guaranteed to have the nose point away from us (the left wing still downward), OR a Z rotation is guaranteed to have the nose pointing downward (the left wing now point right).
I hope that isn't too confusing. I'm not sure how to phrase this question beyond presenting an example case. Does this make sense? Is this type of rotation possible in DirectX?