1) you can use as many shaders as you want.
2) you can use one shader per texture on world geometry. therefore if a block has 4 different textures applied to it's faces it can have 4 different shaders.