The depthrange depends on how you setup your viewing volume. It’s the two last arguments in glOrtho/glFrustum/gluPerspective (depending on which one you use to setup projection matrix) that determine the depthrange. It doesn’t matter what function you use, glVertexs, glVertexf, they all work the same. And the number of bits in the depthbuffer got nothing to do with the depthrange, only the resolution of the buffer.
And for speed, I think using floats should be fastest, even though it can’t be that much difference unless you pass loads of vertices.