A dog trainer once told me that a dog which barks and acts aggressive (even though they aren't actually aggressive by nature) are acting as a guard for you. And are trying to ensure that other dogs, people etc don't get too close to you. Whether this is the case or not I'm not sure. The trainer suggested some sort of alternative way of holding the lead, a way which sends out a different signal to the dog? It was ages ago and I really can't remember the exact details, which of course is no use to you at all! Anyone else heard this theory?
I think the trainer would have probably suggested trying to maintain a loose lead (easier said than done I know) as this would suggest a more relaxed situation. When the lead becomes taut and also if you have any apprehension it is going to transfer straight to the dog.
Another theory which I do believe in is the choice of "fight or flight". When William is being restrained by the lead, if he feels threatened in any small way and he does not have the choice to run away, then the only other option available to him is fight. This is the same as when you would see a wild animal cornered, they can't get out of the way so the only choice is to attack.
Perhaps training classes where one of the lessons is to weave in and out of other dogs may be one way of getting William over this.
Hope this helps