I assume for the picking system you're rendering each entity/block as a different color (internally) and getting the pixel color under the mouse cursor?
"Color" is pretty much just "integer" to the GPU. It doesn't care if the 32-bit value a shader is writing to its output buffer is representing RGBA or a memory pointer.