Blame it on the English language... I'm no English native speaker so don't know if I can explain it correctly but here goes... What you see in English is the plural of "He has an empty pocket". Since the preposition "a/an" doesn't have a plural in English it becomes "He has empty pockets".
Now, if you translate the sentence from Portuguese literally, it gives "He has the empty pockets". In singular form, "He has the empty pocket". Nobody says this in English, an English speaker would easily see the "the" there is weird, the "a/an" would be much better there. So, "He has an empty pocket". In plural form, "He has empty pockets".
Now there is the matter of why "os" (meaning "the") is used in Portuguese. The general meaning of the sentence is that the man's pockets are empty. ("His pockets are empty" would be a more accurate translation, actually). Having said that, there are three alternatives:
- "Ele tem (uns) bolsos vazios" - this is the direct translation of the English sentence. But in Portuguese, this doesn't mean the pockets of the trousers he's wearing are empty, it just means that he has some empty pockets available somewhere.
- "Ele tem (os) seus bolsos vazios" - This is correct. But "seus" ("his") is redundant, we already have "ele tem" ("he has"), so we already know the pockets are his.
- "Ele tem os bolsos vazios" - This is the same as "Ele tem os seus bolsos vazios" but "seus" was removed because it is redundant. "Seus" is not there but it's implied because of "ele tem". This is the one that actually means his pockets are empty.