Your second examples aren't 'natural and better'. It all depends on context. To add to Greg's comment, the difference between 'how long' and 'how many years' is a matter of precision. If you ask 'how long', I don't know how precise you want me to be. Do you want me to say "3 years, 2 months, and 25 days"? If you ask "how many years?" I know that you do not want an exact answer.