I would like to use a multicolor texture like a colorpicker to set each object to a different color, by zooming and offsetting the texture to use a pixel of a different color for each object texture.
Ok, I think I got you. If you need to render all cubes in just one draw (i.e. batched) the only option I see is giving each cube different geometry. You could use different UVs and a texture or different vertex colors.
Texture offset is ultimately a shader parameter and different shader parameters per cube require separate draw calls. In real life (i.e. DirectX/OpenGL programming without Unity) you would use instancing (rendering with multiple vertex streams) to achieve something like that. But AFAIK you cannot make that happen with unity.