If you have frozen transforms the pivot it will be oriented to the global axis and no longer oriented to the objects local axis. There are several option to align the axis to an axis or edge for instance. You can also create a cube orient it to the objects desired axis parent the object to the cube and then freeze its transforms. You can then unparent the cube and delete it. The objects local axis will be set to the local axis of the cube that it was parented to.
"If I have seen further it is by standing on the shoulders of giants." Sir Isaac Newton, 1675