Since you own a Subie, I would suggest joining http://www.ultimatesubaru.org/forum/
They probably have the answer to the cam timing.
This engine has variable valve timing that's controlled by oil pressure. Dirty oil and sludge can absolutely affect timing. It can also destroy the engine. You've got some serious problems here and the battery is the least of your worries. Read these two articles on oil. Then get your car serviced immediately.
http://ricksfreeautorepairadvice.com/mot...
http://ricksfreeautorepairadvice.com/whe...
Your battery has a shorted-cell. Prove it by takking it to any store that sells new ones other than Auto Zone. Ask for a free 15 second battery *load test which will tell you the reserve amperage capacity. Amperage spins starter motors not voltage.
Mobil1 Extended Performance engine oil will keep the crankshaft position sensor and camshaft position sensor clean after you remove both and clean them. The engine absolutely needs full synthetic oil to prevent *oil coking on the turbocharger bearings.
Dirty engine oil can cause the code as well as several other reasons.
sell it on ebay and get a new engine
2008 Subaru Impreza WRX.
My battery has been dying alot lately. Even after i took the car on a 10 hour highway trip, the next day it wouldnt start again. I hooked up my scanner and it showed code PO011. Which is Camshaft position timing over-advanced. The engine oil is old(3000 past its suggested interaval, which is every 3000 miles). So its 6000 miles on full synthetic oil.
What causes PO011 CEL? Could it be the dirty oil? Also could this camshaft issues cause improper charging of the battery? the car only has 54,000 miles.