M.L.
I'm a hairstylist. While I use professional color, brands like Feria ,Loreal and Clariol seem to have pretty good gray coverage, so long as you are doing it to match your natural color.
Just look at the box and it will usually say if it's specially formulated for gray coverage. Once you do the gray, leave it on for a while, then pull it through lightly damp hair all throughout the ends of your hair for the last 15 mins or so. It will help refresh the midlength and ends.
Using a color shampoo will help your color from fading. If you take very hot showers, that will fade color as well.