If your game is 2D, there will be no distortions with a Ortho matrix. Plus, you'll be able to use actual screen pixel coordinates, like PyGame, (if you use that) but it's not flipped. You can set your characters at z = 0, and the foreground and background at 1 and -1.
Personally, I don't know how well OpenGL handles very small floats. My guess would be a truncation. In any case, the Z-buffer doesn't have a resolution fine enough to handle that except under very specific circumstances (like your near plane is 0.00001 and your far plane is 0.00003. I don't recommend that.
The essentials of my 2D view class system, for Ortho projections. You clear screen, use .set_view(), and draw:
self.rect = list(rect)
self.x = rect
self.y = rect
self.width = rect
self.height = rect
self.size = [rect,rect]