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 laugh