Well, I have written an article about it (its not typed though). If you could wait for a week or so, I can type it, put it on PlanetMath, publish it and then give you the link (I can't do it now because my Final exams are approaching soon).
Anyways, the basic idea is as follows:
You know that the conversion from rectangular to spherical coordinates goes like this:
x = r\sin(\theta)\cos(\phi), \qquad y = r\sin(\theta)\sin(\phi), \qquad z = r\cos(\theta)
Now we can represent any point in space in terms of the position vector \vec{R} = x\ha{i} + y\hat{j} + z\hat{k} or in spherical coordinates as:
\vec{R} = r\sin(\theta)\cos(\phi)\hat{i} + r\sin(\theta)\sin(\phi)\hat{j} + r\cos(\theta)\hat{k}.
So far so good! Now, what does it mean for something to be a unit vector?? Take for example the vector \hat{r}. What's special about it? Its not really its length because all unit vectors have the length of 1. That's BORING! BUT its DIRECTION is special, because that is what separates one unit vector from another. Our unit vector \hat{r}, for example, points in the direction where the coordinate r increases while the rest of the coordinates are held constant.
Well, this is the same thing as taking the PARTAL derivative of the position vector \vec{R} with respect to r while holding \theta and \phi constant (think about it, it'll make sense).
So therefore:
\hat{r} = \frac{\partial \vec{R}}{\partial r} \qquad \hat{\theta} = \frac{\partial\vec{R}}{\partial\theta} \qquad \hat{\phi} = \frac{\partial\vec{R}}{\partial\phi}
Warning: What I have given you are not exactly unit vectors. You still have to divide them by their respective lengths but they do have the right direction which is the more important thing.
edit: Here's is the more accurate forumulation:
\mathbf{ \hat{r} = \frac{\frac{\partial \vec{R}}{\partial r}}{\Big| \frac{\partial \vec{R}}{\partial r} \Big|} \qquad \hat{\theta} = \frac{\frac{\partial\vec{R}}{\partial\theta}}{\Big| \frac{\partial\vec{R}}{\partial\theta} \Big|} \qquad \hat{\phi} = \frac{\frac{\partial\vec{R}}{\partial\phi}}{\Big| \frac{\partial\vec{R}}{\partial\phi} \Big|} }
You can derive the unit vectors for cylindrical coordinates in a similar way by changing the position vecotor \vec{R} accordingly.
Hope this helps.
