I would work on routines, so he knows what to expect and when. There is a great book called Simplicity Parenting that talks about creating natural rhythms to the day, etc. that really helped a lot in my household.
Diet can have a lot to do with the flitting from one thing to the other, even at this age, and taking away things like food dyes can really impact behavior and attention. The Feingold program was a life saver for my older daughter (now 10) and then we eventually progressed to be gluten free as well and that has helped even more.
I agree with getting him lots of exercise. I would get some sensory toys, since it sounds like he is sensory-seeking. You can contact an OT directly, or something like Early Intervention and they can test him and help you out with public funding to "ready" him for preschool, etc through interventions you can do at home. We love sensory toy websites here- you can get Chew Toobs for oral stimulation, little toys that roll and bounce, indoor trampolines, "stepping stones" and toys that click and buzz to hold in their hands, etc. Horseback therapy is good for these kids too and therapy places usually start very young. We use FTEA in Winfield and they are AMAZING and very educated and capable of working with kids with sensory issues, etc.
I'm not meaning to label him as anything, but just giving you some ideas, I hope!
Sometimes music can really help too for a more calming mood, and lighting too.
Another thing you might think about is a safe room. Just an empty room (or even a walk-in closet) with only safe toys, plugged outlets, totally safe for him with nothing to climb, etc. and a safely gated door (or a door that is cut in half if he can climb gates) and locked from the outside like a pre-school room might have.
Again, I would pay very close attention to diet and try to eliminate some things that might be triggers. Is there any food he would fight you for? Usually that is the one that is the problem. For my older daughter it was Juicy Juice and then we found out she had a major response to apples, so that made perfect sense. For my younger daughter it is anything with flour, and once we took gluten out of her diet, her health and behavior totally evened out (she is 3.) It takes about 10 days to see a change once you remove something from the diet too, so if you want to experiment with that, be patient too.
My older daughter also had a response to strep that would make her just bounce off the walls and seem to have zero compassion at all. If anyone in your house has felt sick or he has been around someone sick (this time of year everyone is, right?) then have the dr do a rapid and a 72 hour strep test. It could be a brain-autoimmune response to strep bacteria.
Hope this helps!!!
M.
www.chickiepea.wordpress.com (our family food blog)