(a) How long have you been working here? (b) How long have you learnt Uzbek?

As far as I know, "how long" is usually used in perfective tenses. Of course, apart from perfective tenses, "how long" can be used in simple tenses. e.g.

(c) How long did you stay in Uzbekistan? (Simple Past) (d) How long will I have to wait before the doctor can see me? (Simple Future) (e) How long does it take you to go to the bazaar? (Simple Present)

What about the followings? Are they correct or not?

(1) How long are you waiting ? (2) How long were you waiting? (3) How long will you be waiting? (4) How long had you been waiting?

My teacher told me that all are correct except for (1). I'm wondering why other progressive tenses are correct, whereas the only present continuous is incorrect.

Yes, 'how long' can be combined with various types of VP. In fact, even (1) is possible (although it is most unlikely, hence your teacher's probably forgivable judgment), but only with a future reference, i.e. 'you have agreed/arranged with someone to wait for how long?'

Naturally, however, it could not meaningfully be applied to the present time: a question relating to someone's customary waiting time would be phrased in the present simple (How long do you (usually) wait?), while one referring to the total waiting time up to the present time of speaking would be couched in the present perfect progressive (...have you been waiting?)