I don't have hard facts, but I'm still going to wager a guess that what you're trying to do isn't really possible at least with "consumer" equipment. What follows is a back-of-the-envelope style of calculation showing why that is.
You say you want to fit two characters within 0.5 mm. I'll assume we're talking 0.5 mm width (that is the more friendly approach, as characters are usually taller than they are wide) and leave a little bit of spacing between the characters; that gives us a usable width of approximately 0.2 mm per character and something like 0.3 mm character height.
Let's say we need about 10 somehow discrete dots to resolve characters to the point that they are recognizable and readable. That means each dot can be up to 0.03 mm tall. With approximately round pixels (most easily achieved by printers) that gives a print pixel diameter and dot pitch of no more than the same 0.03 mm in both directions.
0.03 mm dot pitch expressed in another way is 0.03/25.4 ~ 847 dpi.
So the printer, and print media (paper) must support an optical resolution in the range 800-900 dpi to meet your stated requirements. That's the number you need to be looking for if you want to purchase equipment to enable you to do this: figure out what exact optical DPI is necessary, then look for hardware (and print media) capable of providing that. Note that this must be non-interpolated numbers. Most printer resolution figures are most likely interpolated values, which doesn't help you; look at the specific dot pitch (distance between individual blobs of color on the page) that the equipment can provide.
You can adjust these figures and come up with different exact numbers, but given that high quality printing is usually on the order of 300 dpi optical resolution (above that you are interpolating, dithering and any number of other techniques to increase the apparent resolution without decreasing the dot pitch), it stands to reason that characters would need to fit within approximately a 2×3 pixel rectangle on average to fit within the resolution limit. Six pixels, even with dithering, is not really enough to make recognizable characters (try for example to tell the difference between a C and an E with such limited resolution). I would imagine you need at a minimum twice that both in terms of height and width for reliably recognizable characters, and even that might be tricky with some combinations.
300 dpi is a dot pitch of about 0.08 mm (let's round that off to 0.1 mm), which agrees well with the above.
Hence, not possible.