" Gibson wanted an actor with the initials J.C. who was 33 years of age. Jim Caviezel fit the description."
I have heard this story told by both Jim Caviezel and Mel Gibson in different interviews. Just after Jim got the part, he said, "by the way, my intials are J.C. [well, I assume Mel could see that, lol] and I'm 33 years old." Mel reportedly joked, "you're freakin' me out kid" or words to that effect.
When Caviezel was interviewed on the Tonight show, he told Leno how Mel had seen him in the movie, "The Thin Red Line" and it was Jim's performance in that role that prompted Mel to choose him to portray Christ. Mel has been quoted as saying that he saw in Jim both a "childlike innocence" and "other world" quality (I'm paraphrasing). I would imagine that all those things played a part.