I cant see exactly how tall they are in the picture but you do want to wait until they are about 8-12 inches. If you know what strain they are it helps b/c indicas stretch less (sometime only 6 inches to 2 times the size of your plant when flowering starts) and sativas stretch a lot more (2-4 times the height you started flowering - at least) So if they are indica, wait until the 10-12 inch mark. Sativas - start from like 6-8 inches - (note - these heights are if you you want to keep them short. If you have vertical room, you can flower them whenever). If you look at my grow (link on bottom) you will see sativas in the back and an indica pheno in the front - the height difference is evident. As far as the preflowers - I cant tell from the pic. But the sex will be obvious after you flower for about 1-3 weeks. You will either see beautiful white hairs or little nutsacks. Good luck homie! That short plant looks crazy!