Two non-co-linear vectors define a 2D subspace that passes through the origin. In 3D, you can represent a 2D subspace by its Normal. It's very easy to define the angle between the two planes: $\theta = \cos^{-1}(N_1\cdot N_2)$ (assuming unit length) and it's a simple matter to find a new plane "in between" by interpolating to find a new normal: $N_t = \frac{\sin((1-t)\theta)}{\sin(\theta)}N_1 + \frac{\sin(t\theta)}{\sin(\theta)}N_2$. Essentially, we're rotating the new Normal vector within the 2D sub-surface defined by the two original Normals.
Rotating a vector this way extends easily into higher dimensions, but a Normal defines a hyper-plane, not a linear, 2D subspace. So I can't use the same approach. If I have two pairs of orthogonal vectors defining two distinct linear 2d subspaces, is there a way to measure the angle between them or find a new subspace that is an interpolation between the two?
Edit:
Working with the problem, I realized that even in 3D, interpolating the normals wouldn't be sufficient for my problem, but I would actually need to interpolate the space defined by the vector pairs. It's still straightforward to do in 3D. Referring to the image below, if I have vectors $X$ and $Y$ and wish to interpolate to $X'$ and $Y'$, it's simple if I find vectors $Z$ and $Z'$ by the cross-product approach. Then we can find $F = \left[X\ Y\ Z\right]$ and $F'=\left[X'\ Y'\ Z'\right]$. The rotation matrix making the full transform from $F$ to $F'$ would just be $F'F^T$. From that rotation matrix, it's easy to extract the axis and angle of rotation and then simply interpolate through the angle.
In higher dimensions, cross-product doesn't work. However, we can still find a point in terms of the first frame of reference and project it into the second: $P(1) = \left[X'(X\cdot P(0) + Y'(Y\cdot P(0))\right]$. Given any pair of $P(0)$ and $P(1)$, I can use spherical interpolation find a point on the shortest arc between the two points, but that's not what I need. I need to interpolate the 2D space itself and find the corresponding point within the plane. If I need to add any number of extra axes because there are multiple equally short paths, that's fine.