It sounds like what you want to do is to be able to move a vertex in a direction perpendicular to a face of a meshed object. The object's pivot has little to do with this.
One way to get a coordinate system that is flush with a face is to use a grid. Try the following.
1. Create a grid helper.
2. Align the grid object to the face of interest of the object. (Tools, Align, Normal Align... or Alt-N). I find I get the best results when I click the objects for this process near where I think their centroid [geometric center) is. When you click the grid and then click the face of the mesh you should see a blue line appear perpendicular to the surface of each.

3. Flip the normal if needed and then click OK.
4. The grid coordinate systems should now be active. If it is not select it in the menu at top.

You can now move the vertex perpendicular to the face by clicking and dragging on the Z arrowhead.
Note, you can control whether a grid object or the home (world) coordinate system is active with Tools, Grids and Snaps, ...
lee.minardi