Check the battery in my signature. It's original Samsung 1800mAh for Epic 4G and fits Captivate with standard battery cover. I'm getting 5-6h screen on time, many hours talk time, and easily >60h standby with WIFI on. The ROM I'm using is latest stable CyanogenMod. Don't go with Chinese no-name batteries.
To clean the power button you need to disassemble the phone. There is a thread here on XDA with instructions how to do it. Some people report good results using electric contact cleaning spray and compressed air. There is no guarantee that it will start working again, though. The switch may need replacement.
- HTC Desire 601 LTE, JB Android 4.2.2 (main phone)
- Acer Iconia Tab A200, ICS Android 4.0.3 (games tablet)
- Samsung i896 Captivate, JB Android 4.2.2 (backup phone)