Im not a Shader Expert but maybe i can answer some:
1. Shader-File as in the fx-Code? I dont know any way to assign a shader only to a region of a mesh, but maybe you can create your object out of many meshes and give each another shader.
2. Shaders on Screen are called Postprocessing-shaders as far as i know. GS offers alot of those already like Bloom.
to apply a shader on screen read the manual, there is an example.
3. i dont think so... but maybe.
4. i think yes, but i dont know how as im not a shader-programmer