John has been waiting for David for an hour.
I want to make a question with "whom". I say "for whom has John been waiting? Can we bring "for" at the end of the question and use whom at the same time?
But your "For whom ..." is fine. It is the correct and grammatical form of the question.
If you want a more colloquial way, then "Whom are you waiting for?"