Well you can set a face as being visible/invisible, but the sorting for that would have to also be optimized. It definitely wont be happening every tick. The formula for picking faces shouldn't be real hard since you have the camera angle, and can cast from that to figure out which faces aren't looking at the camera.
Occlusion culling is another matter...
You should also look at offscreen culling as well.
Also don't forget we have depth shaders now, although I don't believe they will help with optimization.
Something like Minecraft can be done, but I think it will have to be on a much smaller scale, with way way less cubes.