First and foremost, I would advise you to talk to your pediatrician about any major changes to your child's behavior. Then, as a mother, I'd do my very own detective work. Ask yourself questions about what has been going on in your child's life, lately. Has any major (emotional) event or anything that you can think of happened where your child could have been affected? Last, many children become accustomed to "bad" behaviors because we allow it to progress over time. It might take a couple of (rough) weeks, but after your child falls asleep or not, go back to your own bed. When he comes in again, walk him back to his bed and put him in it. Tell him that he either doesn't get another drink until morning or keep a water filled sippy cup next to his bed for easy access. When that is gone, don't give him any more until the morning. Often times parents continue "bad" behaviors, because they don't want to "crush" their child's little spirit. They think that it's somehow easier to just give in to this little person's demands; However, as you are quickly finding out, it is actually the hardest, in the long run. Maybe your son is just going through a bit of separation anxiety. That's completely normal. Just continue being consistent in your methods and all should turn out just fine.
May GOD bless you. I'll be praying for you both. By the way, I have 3 children of my own, under the age of 5, so I understand the madness. Consistency has worked, thus far, with my babies. I hope that it works for you, as well. Good luck (-: