DX9 really won't make the shaders all that much easier.
HLSL is more easily read by the human eye, but it is really no more difficult to write a DX8 shader than it is to write a DX9 shader.
As far as looking better, the 2.0 series of shaders do not really add anything as far as new techniques, but they do encapsulate a number of often used techniques so that you don't have to constantly rewrite the same lines of code. With a few exceptions you can recreate any shader that is running with DX9 in DX8.
Pixel and Vertex shaders of the 3.0 series though do add a whole lot of additional features. A lot of these are impossible without using 3.0 techniques...granted get a hold of a card that will run them is damned hard...so it is a moot point.
In order for shaders to work, the video card has to have a programmable graphics pipeline. A lot of older cards do not. Or if they do they have access to only limited functions. You can find out what cards support what shader techniques with a bit of research (there is a database that contains almost all of the video cards and what they support somewhere...I don't have a link handy though).
For the most part though it is hit and miss on shader support for old video cards (not even all that old - they were not entirely common until the 8500 series of Radeon and nVidia...well, they tend to crash a lot
![](/ubbthreads/images/graemlins/wink.gif)
). Be sure to include a good fall back technique.