CAN, yet I would advise not to, as this is not necessarily a person's biological grandfather - it is very common to address elder men in the street/neighborhood with either "Babu" (grandfather) or "Mzee" (old man).
Does "karibu" mean only welcome (as in welcome home) or you're welcome? If the latter, why is this not accepted here as "you're welcome, grandfather"?
According to Wiktionary, that is indeed a correct translation, but purists may disagree:
Etymology: From Arabic قَرِيب (qarīb). The sense "you're welcome" is a calque from the English.
karibu (plural karibuni)
welcome! come in! you're welcome! (response to being thanked)
Karibu also has the meaning of close/near/next to, so it could be understood as an imperative to come closer/in... There also are verbs to it. I agree, "You're welcome..." should also be accepted.
It is the firat one since it it only used while being welcomed into someones home.