"For how long have you been..." vs. "how long have you been..."
Solution 1:
The Corpus of Contemporary American English has only one occurrence of “For how long have you been”, but many occurrences of “how long have you been” used in this sense. So, it seems that, at least in American English, for is not used. The numbers are such that I'd say it probably holds in other dialects.