Welcome to Pet Talk. It is a great community and I hope you stick around for a while.

Now to your reactive dog. It sounds to me like you are doing everything correctly in trying to resocialize your dog. It is not an easy process and it is going to take a great deal of time. One thing stands out at me. You say that your dog usually will flee when he is approached by another dog that he doesn't feel comfortable with and only lately will occasionally growl and snap. My first question is whether or not in those instances if he feels that there is no way to flee the situation? Is he always on a leash when this happens? Most dogs feel more cornered when they are approached by another dog when they are leashed. Another possiblity is that he is starting to feel more confident in your care or possibly more confident in your ability to protect him so he doesn't necessarily feel the need to flee as readily.

I also wouldn't worry about it unncessarily. Growling and airsnapping to a dog is the equivelent of us saying "Back off - you are bothering me" as opposed to running and hiding every time we come across someone we don't like.

There are a couple of books I would recommend:

Patricia McConnell's "The Cautious Canine: How to Help Dogs Conquer Their Fears" which you can get here or Ali Brown's "Scaredy Dog! Understanding and Rehabilitating Your Reactive Dog" which you can get here

What I would do is when you see him get a little tense around a particular dog, that you stop just at the point that he is getting uncomfortable and feed him really good treats (pieces of chicken, liver treats, or something else really good). What you are trying to do is have the dog associate other dogs with something really good, e.g. other dog = Bar's Open. When the other dog goes away, stop giving him treats, e.g. other dog is gone = Bar's Closed. If there is a particular dog that he is showing a reaction to and you can recruit that dog's owner to help you can use this exercise on a regular basis. Every few sessions, get just a little closer to the other dog. Make sure that you don't go too fast as that could cause too much stress. You want to decrease your distance a little at a time only to the point where he is starting to feel uncomfortable.

Good Luck