Perhaps you already know this, but participles have properties of adjectives (or nouns) and verbs. So, like an adjective or noun, it takes cases and agrees with the noun (expressed or implied) it refers to. Like a verb, it can take an object. So, the participle habēns in this case is in the dative plural (habentibus) because of the needs of the syntax and because it refers to multiple people (those having). As Pacifica has said, a pronoun isn't necessary, unlike in English, because adjectives (including participles) in Latin can often function as nouns, referring to a person or thing that the adjective describes. (This is true in the Romance languages as well.) In English we would be more likely to use a relative clause ("people who have"). When we use the verb habeō, the thing being had is expressed in the accusative, and this is true of the participial form as well.
Participles play a much larger role in Latin than they do in English, which is something a learner of Latin must get used to, as the syntactical idiom is therefore quite different.