It's prohibited due to performance, so...
Why do you need thousands of wireframe cubes in the first place? I guess that's the part where many optimizations can take in place.
Also it's better not to update thousands of vertices every frame. Store them in a VBO and only update it when it's needed. (AFAIK this is also done with chunk rendering. There should be tools for that)
Don't call draw many times, it should be one main source of lag. Speedup of 2x is really a BIG improvement, actually. Instead, varying width lines can be done better with quads. Just play with some trigs and coordinates to find the orientation.