Joints in Maya generally exist in a hierarchy. If an object is placed in a hierarchy, it will have translation or rotation values in relation to its offset to its parent. If you have the joint tool set to its default settings (xyz orientation) then when you first create a joint chain all of the joints that follow the root will have translation values in X. No matter what you do (freeze transformations included) you will always have transform values in X (unless the joints are at the same place in space).
If you have rotation values on your joints that you want to zero out, you can do this by using the "joint orient" value. The joint orient value is a relative value to the parent of the joint. As an example, create a three joint chain and then rotate joint2 15 degrees in Z. Open the attribute editor and look at the Joint Orient values. In the chain I just created my joint orient value for joint2 in Z = -43.25. If I subtract 15 from (-43.25) = (-58.25), this will be my new value for the joint orient. When I entered this value joint2 rotated (15deg) and then I can zero out the rotate Z value (which is (-)15deg.. This will bring the joint to the same rotation where I had it by rotating 15deg. but with no rotation values.
If you have translation values on the joints other than in the X axis it is because your local rotation axis is not properly aligned with the joint chain.
alan
p.s. (shameless plug) Look for the book "Inspired Character Set Up" in mid to late July for some really good info on building character rigs in Maya.