How to pick random uniformly distributed points in a sphere has been asked before. The difference is that I don't want uniform distribution, rather I would like the number density to scale by $r^{-1}$.
The only method I can think of is to generate random x, y and z coordinates, reject those that are outside the sphere and then do another test. For simplicity I chose to distribute points between radius 1 and the sphere's radius R, with these values I calculated a probability function $p(r)=\frac{1}{\rm{ln}(R)r}$. The test was that I generated another random number and rejected the point if that number was larger than p(r). However I don't know if this is correct, and I'm hoping for a better idea since it was very slow for large R.