You can get good deals on hotels all around the city. The Metrolink stops across the street from Busch Stadium if you don't stay downtown. We usually stay either out by the airport (cheap, great deals) or at the Hilton or Millennium, both downtown but hit/miss on deals depending on where/when you book. Hilton & Millennium are both one block from the stadium.
If you drive into downtown, there's a parking garage located on 7th b/w Chestnut & Pine, 3 blocks from the stadium. $5 to park during a game...most other close lots are $20+. Plus on your way to/from the game you can stop at Hooters on the lower level of parking garage or Mike Shannon's restaurant (has an outdoor patio, don't remember if they check ID to get on patio or not)
South of the stadium is a fun tailgate-ish scene at Al Hrabosky's and another place, name isn't coming to me right now. Big warehouse type buildings with bars, patios, vendors, etc. At least they were there in 2009, last time I made it to a game there. Any age can roam around.
I lived in the Central West End (near Forest Park) for a summer, cool little neighborhood for college-age people but I can't remember what hotels are in that area. Restaurants, parks, bars, two blocks from the metrolink.
Oh...and avoid East St Louis. And a good chunk of the area north of downtown within STL proper.
I've used a debit card for hotel rooms, nobody has ever specified a credit card when checking in. Some require you be 21, some don't. My dad has an account w/ Hilton and one time when went with friends when we were 20 he called the hotel and booked it in his name and confirmed with them that I would be able to check in even though none of us were 21. Call the specific hotel and ask is my best advice for that.