I would highly recommend using textures, as Dave said. It may be something of a pain, but it would provide much better performance, I think.
You could try searching for edge detection algorithms. If you create your meshes using vertex coloring with solid colors and medium alpha values (for slight transparency), and then use an edge detection shader, it might look good enough. It wouldn't be quite the same, but you might like it even more; or maybe not.
Otherwise you may be looking at a two-pass solution, drawing translucent polygons (again, set the vertex colors to a solid color with a medium alpha value), then setting glPolygonMode(GL_LINE) and tweak glLineWidth as desired (perhaps based on the object distance) and draw the polygons again.
It's a little late and I'm having a hard time reading through this, but a forum discussion points to this PDF: Single-pass Wireframe Rendering. My apologies if it isn't relevant.