Heya,
You want to check out Modify>Freeze Transformations. Local Rotate Axis is only for rotate, which can be offset from the Local Axis as you were doing. Scale and translate stick to the Local Axis (tho they call Local Rotate Axis this sometimes ...i guess they are same orient most of the time), ... which, apparently, cant be rotated directly like Rotate's can (someone please tell me otherwise?). Freeze Transformations returns trans values to zero w/o shifting the local/object space. The orientation of the local axis when returned to its initial, zero translations state will _always_ be back in alignment w the world axis where it started. So to get the local axis pointing in the desired way, you have to orient your object with respect to the world axis such that after a Freeze Transformation you'll have recast the local space as desired around the local axis.
If you want a little widgety axis to do this reorienting then go back and rotate that Local Rotate Axis 'component', kill the componesatory rotations (easiest if they were initally zero) and Freeze Transformations ...same idea, but you got an axis to play with. If you need object to stay put, then jot down trans changes (or copy from attrib spread sheet) and take them away after.
Easier way? Simple to script the value plugings, but wouldnt this be a rather core operation?
C.