Why would you want to paint on the lowpoly mesh in Zbrush? Even if you add subdivs- why? Why not painting the highpoly and baking the diffuse in Xnormal to the lowpoly?
Here's my workflow for such situations: 1)Extract as obj your highpoly models, separately each object 2)Do retopo (i prefer 3d coat, it have auto retopogy, very easy to use). On each object. 3)Extract retopologized obj's (uvunwrap it in 3d coat or max or whatever) 4)Load highpoly meshes and low poly in Xnormal. And bake it…