Pues lo que se me ocurre es tener una variable global de control para cada ventana nueva, asi cuando abres el jframe la pones en true, y cuando el nuevo jframe se abra que verifique cada una de las variables de control ( jfCabeza, jfTorax, jfPiernas, etc)
y que si encuentra una en valor true, que el posicionamiento baje x pixeles, y asi, si encuentra otra variable en true que vuelva a bajar,
y ahora con lo de no abrir el mismo jframe, pues igual podria ser, la variable de control empieza en false, abris el jframe, pones la variable en true, y mientras sea true que no te deje abrir otro jframe del mismo tipo, y cuando cierres el jframe que la vuelva a dejar en false
EDIT: con lo del posicionamiento me encontre esta funcion:
setLocationRelativeTo
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Window.html