Hello,
As some other posters have noted it is difficult to describe an ideal setup for this situation in just a forum post but I'll give it a shot.
Very briefly:
-Get a business class cable modem connection
-Get a Buffalo wifi router
-Get an old computer to run linux backend services on
-Setup Chillispot and phpMyPrepaid to run your service
-Sell service or just hand out free codes as you like for shop customers (writing one on a chalkboard daily works well)
First things first, start reading up on DD-WRT:
http://www.dd-wrt.com/
Consider getting a Buffalo WHR-G125 router - see DD-WRT's site, it has a description in the first news post. Buffalo routers feature good performance for the money. You will flash this device with DD-WRT. The DD-WRT wiki has detailed instructions
You can use the Buffalo router with a linux machine to setup Chillispot.
Here is a very basic howto for this procedure:
http://www.howtoforge.com/wifi_hotspot_setup
It should give you enough information so that you can use your Google skills to figure out the rest. There may be better howto's out there.
I would recommend Ubuntu Linux and an older desktop you can bury somewhere in the back of the shop. Even a crap $100-off-of-craigslist pc will do the job, say P3, 512MB RAM (be nice to yourself) minimum. Or your local University may have a surplus sales program (UW-Madison near me has one with tons of deals - I use their surplus for non-profits all of the time). Ubuntu is easy to setup from a graphical installer and installing all the stuff from the howto is easy.
Onto your list of goals:
1.) Free wifi - use mysqlprepaid to setup a code for each day - write code on chalkboard. Or setup a ton of codes and use a label printer or something else to print them out and give them to each customer so that paying customers get to use internet
2.) Keep within store or so - use the ack timing feature of DD-WRT. It is a number that tells the AP the maximum distance in meters to provide service (the hotspot figures out the distance with fancy math). Be liberal, as it is not exact - a good value is perhaps 30 or so, depending on the size of the place.
3.) Use prepaid to put a timeout on codes
4.) To limit to basic browsing, all you really have to do is keep them inside some sort of firewall - bittorrent and the like don't work as well behind NAT firewalls, so it shouldn't be terrible. You can do a lot more if you put some research into iptables, which runs on the hotspot itself. If you feel really special you can investigate traffic shaping using tc and IMQ devices using linux but that is an advanced topic.
5.) To keep wifi users separate use dd-wrt's "ap isolation" feature - this will keep people from being able to communicate with each other's computers, but they will still be able to access the Internet just fine.
And your list of questions:
1.) I would recommend a business class cable modem, something like 5M/1M should be more than sufficient, and if you get problems look into tc and IMQ. There are lots of people out there using this stuff, writing howtos, and posting forum questions and getting answers. The DD-WRT forums are really great.
2.) You will need a server (see above), an ap (see above), a switch and maybe a second wired router for your cable modem. Or you can plug your cable modem right into the DD-WRT-ized ap.
3.) You will need to brush up on DD-WRT, get Ubuntu linux and do a lot of googling, but trust me, you will be able to do it with just a little effort.
Cheers