I fixed the problem, here's how:
I suspected that the light was only on for running the gas tank too low. So I went to Jiffy Lube, had them hook it up and test for codes, and it said something about the evap system having the wrong pressure or something like that. Basically it meant I was running on fumes - literally - and it threw it off kilter. They reset the codes, the check engine light off, I've kept my gas tank full (well, not empty at least), and the light has not come back on.
I'm glad I didn't go to a mechanic and spend a few hundred dollars trying to figure it out!!