"Reason to visit" or "Reason for visit" ?
Which one is correct grammatically?
I think the difference is that we use "to" when "visit" is a verb:
I can't think of a single reason to visit them.
and "for" when "visit" is a noun:
And what was the reason for their visit?
Of course, when "visit" is a noun, you will need to add an article before it (Get ready for the visit), a determiner (I am not ready for that visit) or a possessive pronoun like in the example.
If you want to use it without a modifier, then you can do as J.R suggested and turn it into a gerund.
Interestingly enough, I would use to with visit, but for when using visiting:
The nightlife – that’s the reason to visit Paris!
The nightlife – that’s the reason for visiting Paris!
The phrase to visit acts as an infinitive, but we use for when switching to the gerund form:
Our neighbors are welcome to come over anytime; they don't need a good reason to visit.
Our neighbors are welcome to come over anytime; they don't need a good reason for visiting.
Either of those sounds fine to me (and I'm lucky to have such good neighbors).
This isn't something unique to the word visit; many other verbs work the same way when paired with reason:
If you like organic foods, that's a good reason to shop at a local farmer's market.
If you like organic foods, that's a good reason for shopping at a local farmer's market.
"Reason for visit" is not quite grammatically correct. Consider these phrases:
reason for visiting
… as in "Do you have a reason for visiting your doctor?"
reason for your visit
Once you are there, the receptionist might as, "What is the reason for your visit today?"
reason for visit
Alternatively, the reception might ask you to fill out a questionnaire that contains a field labelled "Reason for visit?" Such a field would be acceptable on a form, as it is understood to mean one of the two phrases above, with some words omitted to save space. However, you could never use "reason for visit" in a proper sentence, since visit is a noun that is missing an article or adjective.
Note that there is a difference in meaning between reason to visit and reason for visiting. The former can apply only to a visit that has not yet taken place. Therefore, in the examples above, the receptionist or the questionnaire could not ask "What is your reason to visit the doctor today?" since you are already there.