There are apocryphal stories about this happening, and perhaps it did happen more often earlier in the site's history (I wasn't around for that), but I can honestly say that I've never seen it happening. I even hang out on the so-called "popular" tags: C#, .NET, Windows, etc.
Regardless, your proposed solution is not the way to fix this problem. People who have sufficient knowledge to write their own answer to a question are exactly the people we want downvoting the other answers. They're the people who can best judge whether those other answers are technically accurate, in all senses of the term. Denying them the privilege of downvoting would have only two possible results:
Prevent knowledgeable members from posting a helpful answer to a question because they've already deployed their downvote weapon, or
Prevent knowledgeable members from contributing to the site by downvoting answers that are either incorrect or unhelpful.
I do agree that it would be best for all parties involved if users left comments explaining the reason for their downvotes. That way, knowledge can be exchanged, rather than simply points. Sometimes I think people forget the purpose of this site. But this, too, has been discussed before, and there are already prompts in place requesting that users who downvote leave a comment if they think the answer can be improved. There's no way to force people to do so, and it wouldn't be a good idea to do so if we could.
If you really think you've witnessed "tactical downvoting" attempts, flag the post or user in question for moderator attention. I understand that they have some useful tools to track down this type of suspicious behavior, and of course, to take action if they deem it appropriate.
Aside from that, I don't think it's worth worrying about. Upvotes are worth significantly more than downvotes (+10 vs -2 at last count), so if your answer is valid and correct, the upvotes you're sure to receive will quickly cancel out any downvotes left by the unscrupulous members of the community.