A: Is Mr. Bob at home?
B: Sorry, he isn't at home. He___to Hong Kong for vacation?
B. has gone
C. is going
Which one is correct answer? and why it is not the other ones?
The answer is B.
If a person is not at home or at work it is because he or she is somewhere else.
Bill: Where's Mum? I'm hungry.
Dad: She's gone shopping, she'll be back soon.
If a person has returned from a specific location we use the past simple tense, went, to express this idea.
Bill: Mum where were you? I was really hungry
Mum: I went shopping, I'm back now so stop moaning.
The present continuous (and, be + going to + infinitive verb) used in: "I'm going shopping" or "He's going to Hong Kong for vacation" usually expresses a future arrangement or intention.
'He has gone to Hong Kong for a vacation'is better. Note the indefinite article before vacation.
You could also say 'He went to HK for a vacation', but it implies the vacation is finished e.g. 'he went last month for a vacation'. If the vacation is still in process I would definitely use 'has gone'.
There are other ways of saying this, such as 'He has gone to HK on vacation', He is on vacation in HK', or 'He is vacationing in Hong Kong', but the last would be less usual, and sounds too grand for most situations.
In Britain we are less inclined to use the word 'vacation'. We tend to go away 'on holiday'. We also 'holiday', using the word as a verb, but to say someone is 'holidaying', is like using 'vacationing'. It can sound excessively pompous, and is sometimes used sarcastically implying 'he ought to be at work'.