1) Stop hitting your child. Sweeten it up by calling it spanking, but you're hitting him. And he's aggressive towards others...see the connection? Yes some people believe that it's effective discipline, but it's clearly NOT WORKING for your child. So stop it now. Let the last time that you spanked him be the last time that you do.
2) Get the Kadzin Method for Parenting the Defiant Child and find a therapist who is familiar with that method and/or Positive Discipline in general. You have to reward the behavior you want, not punish (and reinforce with negative attention) the behavior that you don't want.
The Kazdin Method/Positive Discipline really, really works. The overall theme is that when a child controls his behavior, he is rewarded with what he wants. Take, for example, something like recess. If, during recess, he plays nicely with others and needs no reprimanding, he gets 2 points. If he's mostly behaving well and maybe needs a little reprimanding or redirection, he gets 1 point. If he has an awful recess period, no points. That's the punishment...because the points are leading up to rewards. Rewards can be something tangible like stickers or a trinket, or a privilege like 10 minutes on the iPod Touch (the choice reward in our house) or a few minutes doing something else special. The "reward" also includes ample, over the top praise. "Great job! I knew that you could follow the rules and have a fun recess! And when Tommy took the ball from you and you asked for it back instead of kicking him that was so great - exactly what you should do!" Another component of this method is practice. You reward points for practicing the behavior too. So for instance, you would pretend that you're both at recess and you come by and shove him (or take his place in line, or don't let him have a turn on the slide, or whatever things can come up) and have him practice the desired behavior (asking for a turn, asking an adult for help) so that when it happens for real, he'll already know what to do.
I know it sounds a little wacky and like it's a lot of work, but using this method has helped us tremendously. And you don't have to do it forever - you track points for maybe a week or two and then the behavior becomes ingrained and you move on to something else (participating willingly in school work for example). We have used this with our 7-year-old to get him to stop yelling all the time and to be more flexible when he doesn't get his way. Do get the book though so that you can know how to do it right - the devil is in the details on this technique, and there is a DVD that you can watch that is helpful too.
As far as looking for a diagnosis - there may be something there, and there may not be. It doesn't sound like ADHD at all to me (my oldest son and husband have that). Maybe ODD, but the discipline technique recommended above will work for that.