The longer the better, I'm afraid, and a minimum of 6 weeks. if you do it too often then you will have to keep doing it every week or so, as all the hairs grow thru at a different time. Also the wax doesn't pull out the really short ones.
You can wax whever you like, but the hair will grow in cycles. The hairs you wax and are removed are in the final stage of growing.
A few days later the next set of hairs will grow through etc etc.
As waxing removes hair from the root, it takes longer to grow back. I usually get my legs waxed once a week for three weeks, as this usually gets rid of all the hairs in the different stage and it means for the next month or two I'm hair free!