Character occupations are some of the few explicitly stated pieces of info we get in "The Purloined Letter." G— is a policeman; Dupin is a detective; D— is a minister, some kind of high ranking government official.
But you know what? It doesn't really seem like there's that much difference between the three jobs (or "jobs," in the case of Dupin). They're all about gaining power through processes of detection.
D— is "dangerous"; G— is at least partly "contemptible" (2). Clear enough. At times, the narrator flat-out tells us what he thinks about the other characters, or relays what Dupin thinks. For example, he tells us that G— "perpetually errs by being too deep or too shallow for the matter in hand" (94). He then proceeds to "prove" it through a really complicated (and somewhat nonsensical) argument.
As far as characterization goes in this story, this is about all we've got.
What? In a story full of initials and euphemism, how can names be any kind of clue to characterization?
Well, in an essay he called "Secret Writing" Poe said:
As we can scarcely imagine a time when there did not exist a necessity, or at least a desire, of transmitting information from one individual to another, in such manner as to elude general comprehension; so we may well suppose the practice of writing in cipher to be of great antiquity. (source)
Translation: for as long as people have been writing, they've been trying to write in code ("cipher").
Poe was fascinated with the idea of writing in code, and deciphering coded material. In fact he was expert in this practice, though he never said quite how he managed to solve so many ciphers.
When we read a story where there are no names, but only initials (if we're lucky), we get the feeling we are trapped in a world where everything is in code. This lack of character names preserves a sense of ultimate mystery. The fact that Dupin has an actual name makes him seem more knowable, and therefore more trustworthy—perhaps—than the other characters.