There are several things that could be causing this, including serious problems with either your (a) hardware or (b) operating system. However you should first rule out simpler things before exploring (a) or (b).
First, check in System Preferences that your correct startup disk is specified.
Second, try resetting the SMC. http://support.apple.com/kb/HT3964 For your computer, I think the right instructions would be:
- Shut down the computer.
- Unplug the computer's power cord.
- Wait fifteen seconds.
- Attach the computer's power cord.
- Wait five seconds, then press the power button to turn on the computer
But read the above link and make sure you follow the directions for your computer. The SMC reset has fixed a very slow startup for me with an older iMac. It's worth a try and won't do any harm if it doesn't help.
Third -- your hard disk file system may need some repairs. One way to do this is start in safe mode. It can take a long time to boot in safe mode so be patient. See http://support.apple.com/kb/HT1455?
If these other steps did not help, I suggest you run the Apple Hardware Test. It comes on the original OS media that came with the computer. I would run the hardware test with all the options selected and have it run an extended memory test, which may take hours to finish.
Another thing you can do is replace the PRAM battery. It's a little suspicious that you can only boot the computer when resetting PRAM. That battery is an ordinary battery and it wears out after several years. It can cause odd slow to boot symptoms. It seems a little early to have to do that on your Mac, but it's 4 years old, so it's a possibility. It might be best to take your computer to a shop and have them replace the battery if you aren't familiar with opening the computer and doing it yourself.