I would also suggest a developmental pediatrician. In my area they would be the ones to evaluate such a young child. A neuropsychologist would not work with a child so young here. The ones here work with older kids who can do the written testing. I would call and ask if they work with kids so young.
Hard as it is, I would keep this one in eyesight as much as possible. Maybe make him keep his drinks in the kitchen and stay with him when he has one. As soon as he starts to turn it upside down, take it away. Or just buy the sippy cups with the valves in them that the kid has to suck on to get anything out of. It really cuts down on the mess. When my oldest was little he kept wanting his TRex to have a drink. Only his dad and I didn't know he was pouring juice and milk into the plastic dinosaur until it stunk inside. It was his favorite toy so throwing it away wasn't possible. It was incredibly tough to clean in there. And of course my husband wouldn't do it no matter how hard I tried to get him to!!! Neither would Grandma!!! Trust me, I tried HARD!!
As for the diapers, does he poop at about the same time each day? Some kids do. If so, make sure you are close to him around that time. Also try giving him a reward for telling you if he needs to be changed rather than getting his hands in it. What is his favorite thing? Give him that in some quantity if you manage to change his diaper without him getting into the poop. If he gets into the poop, no reward. If you have the right reward, one he wants bad enough that he ONLY gets for getting changed without getting into the poop, he will start to come to you to be changed and to get his reward. You will have to be consistent. Don't EVER not reward him even if he is in trouble for something else. It will confuse him.
I would also get him evaluated by an occupation therapist for sensory issues/sensory integration disorder. Given the history, it is entirely possible. Sensory issues are not treated with medication, and the earlier they are caught, the better. There is much that can be done, and it can make a HUGE impact on his life, and on your life, if you start treatment early. One thing is to provide a sensory diet. Your grandson might be playing in poop because he likes the texture. If so, you could provide finger paint or playdough or something else he could play with that would fit his need and be more pleasant for you. It could be he likes the strong smell also, in which case a homemade playdough made with koolaid for coloring and scent might be a substitute. It is super easy to do (I once made enough for 300 kids in about 3 hours.) and cheap. To learn more about this, read The Out of Sync Child by Kranowitz. For activities to provide a sensory diet (and hours of fun for every child not just the one/ones with sensory issues) get a copy of The Out of Sync Child Has Fun also by Kranowitz. Adults have fun with lots of these too. At least hubby and I did. The neat thing about sensory issues is that the activities your child needs will be the activities he is drawn to. This means you get to do that fun parenting job and say "Yes! You must go play with this toy. It is medically necessary." How often do we get to do that??
One sensory toy that most kids enjoy is pretty easy to make at home. Get a selection of small beads, buttons, figurines, etc... that will fit through the top of a clear plastic bottle. You will also need rice to fill the bottle and silicone to seal the bottle closed. Make sure the bottle has no label and is clean and completely dry. Mix the beads and other things with enough rice to fill the bottle most of the way up. You want it full enough for the items to be mostly covered but with enough room to shake so that different items can be uncovered with each shake or by rolling the bottle. Pour the rice and bead mixture into the bottle. Seal the top on with silicone seal like you use for windows so that the kids cannot take it off and make a giant mess. This is a great toy for car rides and for waiting rooms. You can use it to provide story prompts, or to have the kids try to find a certain number of items, or items starting with a certain letter or whatever.