I am a Ba'al Kri'ah. I am quite confused regarding the rules of "kamatz katan". Another Ba'al Kri'ah explained that a kamatz katan occurs when a kamatz is used in a word (usually a verb) when the root of the verb usually has a cholam. Examples are "shomru" (originally "shomer") "roshei" (originally "rosh") and "chodsheichem" (from "chodesh").

I can understand hwo to follow this rule. However, I understand that the kamatz jatan applies to people's names as well as in "Ochran" and "Kozbi". There may be other rules as well. Overall, I'm confused. Is there any general rule or clear document that explains how kamatz katan works?

If you know a letter has a kamatz beneath it, then you know it's a kamatz katan if (and only if) it's in an unstressed syllable that ends with a consonant. Thus, chochma (because of the sh'va nach closing the syllable). There are some exceptions according to the m'sora, and the word batim ("houses"; and its construct forms) is always an exception.