I can't attest to what CAESAR does for local vectors, but in my opinion, this is how it should work (if it doesn't already).

Assume horizontal piping:

1. You have FX, FY, FZ, MX, MY, and MZ, which are your force and moment vectors.
2. You have From_X, To_X, From_Z, To_Z. The "axial" vector is the difference between these values.
3. You have "vertical," which we'll understand to be Y.
4. "Lateral" is the cross product of these 2 vectors.

Axial, Vertical, and Lateral loads are the dot product of your force and moment vectors with your axial, vertical, and lateral unit vectors.

Assume purely vertical piping:

1. Again, FX, FY, FZ, MX, MY, and MZ.
2. Understand the axial unit vector to be (0,1,0) or (0,-1,0).
3. You pick the orientation of the second and third axes. But let's understand them to be radial and tangential. If the nozzle is oriented up, but located at the Southeast angle, then your unit vectors are (1,0,1) and (1,0,-1).
4. Again, take the dot product.

Assume neither purely vertical or purely horizontal:
1. Again, FX, FY, FZ, MX, MY, and MZ.
2. Axial unit vector will be computed from From_X, From_Y, From_Z, To_X, To_Y, To_Z. Let's assume (1,1,1).
3. Again, you pick the other 2 vectors. However, it's convenient to tie one to the horizontal plane and think of it as lateral. Therefore, if LocX = (1,1,1) then LocZ = (-1,0,1). LocY is the inverse cross product, or (-1,1,-1). (I.E. LocX cross LocY = LocZ).
4. Again, take the dot product.