I was wondering of there is a way for OpenNI to recognize a movement such as crouching or running in place? And could you have hand, finger and body recognition all running at the same time?
I played with pose estimation a while back, but that's not the same as gesture recognition which also involves time.
I recommend having a look at Dynamic Time Warping(DTW) as a useful technique. Also have a look at the KineticSpace project which makes use of this technique. It's written in Processing(Java) and uses a wrapper, but it still uses OpenNI under the hood.
This should help you work out crouching and perhaps running. Regarding your second question: you get body recognition and hand tracking for free with OpenNI/Nite, but you'd have to do the finger detection yourself. Here are few random results found on Google:
HTH