Regarding passport photo places, not all passport acceptance agencies offer photo services -- I know stores like Kinko's, Sears Photo Studio, and even Costco take official passport photos. $15 is average, so I'd stay away from anything costing more than that. The cheapest I've ever seen is $5.
Online there should be a list of different acceptance agencies -- you'd be surprised as to how abundant they are now, and that they're not just at the post office. For example, my old office at the University was not only the Info and ID office, but also a passport acceptance agency. We went through days of training.
If you haven't had a passport before, make sure you doublecheck and bring all the necessary documents to get one:
-a completed application (do not sign the bottom until the oath is administered)
-driver's license or state ID
-the ORIGINAL copy of your birth certificate: no photocopies are allowed, they send in your BC with your application and will return it with your new passport; if you weren't born in the US, bring your naturalization certificate; if you had a passport before, that should be sufficient for proof of citizenship, so bring that in even if it's already expired.
-money for the fees: some places only accept check/money order and/or cash only; not all places take credit card, so just be prepared