http://rastertek.com/tutdx10.html is a good starting point for beginners. You don't need to read everything, only the shadercode examples and explanations. Of course the tutorials are written for DX10, not DX9. But this is not a huge problem once you understand how shaders are written. When you're done you can look into more advanced shaders on other websites or buy books about shader development and rendering techniques. All in all it's not an easy topic and will take a few weekends for reading and learning. If you don't know advanced mathematics it will be even a little bit harder to understand the ideas behind a shader implementation. But like Superku said,it's not necessary if you simply modify existing shaders. For a flashlight effect read tutorial 44.

Shadertool is a good node based tool for learning how to write shaders. Copy and paste Hlsl or Glsl into it, add some nodes for the input values and get instant results. Then try to manipulate the code by adding, removing or changing lines. You can get Shadertool on Steam, but wait until summer sale.