Here's my headcanon (not really supported by the vast bulk of articles, but I like it anyway):
D-class personnel are fully identified by a series number and serial number, e.g., D-141-326. The series number (e.g., 141) identifies which month they were brought into service, and the serial number (e.g., 326) identifies the person within that series.
The series number is restricted to high level personnel, because knowing it tells you something about how long the Foundation has been recruiting and terminating D-class, which might have negative morale implications. The fact that there even is a series number is classified as well, so when lower-level researchers write up SCP reports, they only know to include the serial number. But you can still (for the most part) uniquely identify a D-class in a SCP report by taking note of which month/year they were in service; thus, you are reasonably assured that D-326 from a research report dated in 1997 is a different D-326 from one in 1999. The Foundation checks for numbering collisions when dispatching new D-class to a facility, in the event that a D-class is waived from termination.
Why do it this way? Two reasons.
One, the morale issue raised above. If D-class start coming into a facility with big five- or six-digit numbers on them, some researchers still clinging to an overabundance of moral scruples might get uncomfortable with the idea that the Foundation has used hundreds of thousands of living, breathing humans essentially as cannon fodder.
And two, because "D-748347" is a mouthful!