I just finished installing a Griffin Powermate (left/right/central click) on a disassembled joystick base to achieve the functionality you describe. Works very well except for overall bulk (about the diameter/height of an 6-8oz drinking cup), and the mechanism is well hidden beneath a leather boot that extends below the knob to the base of the unit. Refining the mechanism would allow height to decrease by approximately 1-1.5"
The USB interface for the joystick is through Joy2Mouse, which allows analog threshold and sensitivity to be set through software for the X and Y axes before triggering keypress events. Threshold turns out to be important for auto application to prevent vibration from triggering unintended movement...although a mechanical switch with preset springload as you describe would work as well.
I'll post pics in a seperate thread for those who are intersested soon and put the link here.