Have you tried introducing another cat or dog to him for play time? You may be giving him attention by petting etc, but he may need more mental stimulation. I would try and find a friend who you can have a play date with and see if that helps. Exercise and mental stimulation are important for some cats. If he is not getting this he may be asking for it at night, remember cats are nocturnal creatures by nature.
Try some new toys, a new friend, teach him to walk on a leash and take him for outings, drive him around in the car if he likes car rides, something so he can have some mental stimulation.
Also try to have an intense play time before your bed time to try and tire the cat out. Then shut the cat in a separate room with toys, get earplugs, headphones or whatever and stop rewarding the crying for attention.
If its not medical, then its behavioral and by constantly giving in to the cat you are teaching him how to act (just like children, if you give in to tantrums, they will continue to throw them). So work on stimulating him, not just by petting or talking to him, but by making sure he is getting exercise and mental stimulation.
Also make sure his diet is in control. get the most nutrious cat food you can so all of his nutritional needs are met (cheap foods are cheap for a reason).