Take this with a grain of salt, as I don't know much about rap music.
First, I'm assuming you have more than four songs. If you don't, then don't put four on a demo. Pick the "best" song you have, and put it on a demo.
Anyway, you could probably go the route you're talking about. The main things to remember are:
1. Put your contact information on EVERYTHING. I don't care if it's a business card, flyer, or whatever. Make the contact info as neat and readable as possible. Even on stuff you give to your friends. Try not to hand-write it on your CD. Try to at least have it printed on there somehow. It will cost you a little more, but it will look much more attractive to potential customers.
2. With regard to the mall, you could do that, but I'd ask permission of the stores you want to leave your CDs with first. Don't necessarily make it a music store, either. Maybe you could see if your local mall (or malls?) have a Starbucks, or some other high-traffic area, and just ask them if you could leave a few copies by their cash register for anyone who wants one (slim jewel cases work well for this!) with a sign that says "Free, take one!" or something like that. One of the other things you could do is print up some flyers and try flyers instead of CDs. That approach may be a little cheaper if you're doing this on a budget.
3. Another thing you could do is visit
www.vistaprint.com and get yourself some free business cards. See #1 for what to put on it. If you have a web site, put the web address on your business cards.
4. I wouldn't sell a demo online. I wouldn't sell a demo at all. The purpose of a demo is to get people to buy your real CD.
5. As far as selling your real CD online, there are many places to do so. One of the more popular is CDBaby, but there are many others.
6. For more tips, you could visit
www.musicbizacademy.com
That's about all I've got for now.