Hebrew is complex, and there are several possibilities here that must be considered.
Hebrew Grammar
In Hebrew, there is no case distinction and no special way of indicating a name. Hebrew names do not have the article "הָ" (ha), for example, because names are already definite. Context informs the reader whether or not a Hebrew word is a name. Some Hebrew "names" are actually full sentences in Hebrew, such as "Melchizedek," which means "My king is righteous." If you have a sentence like "My king is righteous, king of Salem, brought forth bread and wine" (Genesis 14:18)...obviously, the grammatical context shows that this "sentence" should be considered as a name.
Hebrew Names
In Hebrew, names always have a meaning. The meaning usually is important to the story, and fits the character or role of the one so-named. This hand-in-glove fit is often so nearly perfect as to inspire multiple theories of interpretation as to the reason for this.
One theory which scholars hold is that the writer of the story cared less about the actual names of the persons involved, and focused, instead, on their roles--essentially giving them names that would best fit the historical record. Proponents of this theory assume that the original names are unimportant, and that the author of the story chose names that were better suited to the storyline.
Another theory holds that the actions, character, or events that took place during the lifetime of the biblical characters involved determined the meaning of their names afterward. For example, to this day we associate Jehu with driving insanely fast because he was known for this. We also associate Samson with strength--and brand names like "Samsonite" may well be exploiting this image. When, for example, the sons of Naomi died early, it becomes an interesting question of whether she or their father would really have given them the names "sick" and "pining" or whether these were just the meanings that those names came to be associated with ever after. (Personally, I lean toward this latter theory.)
Caleb
In Caleb's case, the article is not prefixed to the word. He being a righteous man, seems exceptional in terms of his name. However, the word spelled as "כָּלֵ֛ב" (Caleb) is never translated as "dog". The similar word "כֶּ֣לֶב" is. These are spelled differently, with the name "Caleb" having a patach as its first vowel, whereas the word "dog" has a segol. There are other differences as well, though certainly the three root letters are the same for both, and the original Hebrew did not have these added vowel pointings (so whether or not there was any difference in the original pronunciation is debatable).
Nabal
In Nabal's case, the word does appear in Job 30:8 where it is translated as "fools" ("sons of fools" instead of "sons of Nabal"). As with Caleb, there is no definite article to distinguish "Nabal" as a name where it is used for the husband of Abigail. However, in other places where "fool" is used, it may occur as a separate word root, or it may take a different form, such as appearing as the adjective "נָבָ֖ל" (foolish) in Deuteronomy 32:6, or as "הַנְּבָלִ֖ים" (the fools, plural) in 2 Samuel 13:13.
Context is always very important with interpreting Hebrew, and often more than one meaning may be simultaneously accurate and/or intended.
UPDATED after consultation with my Hebrew professor: Names never need the article in Hebrew.