Maya like pivot alignment
As you already noticed, the 3d Cursor is your friend. 

Either click LMB  anywhere in the viewport or set its xyz location values directly (Transform Panel N > 3D Cursor). Object Mode or Edit Mode doesn't matter so you've got the control you need. When done, open up the Toolshelf T, go to Tools > Set Orgin and select 'Origin to 3D Cursor' (in Object Mode) or use  ShiftCtrlAltC shortcut for that.



Also see: Precisely move the 3D cursor?