If you run a local business (we provide marketing solutions for them), how would you reach local customers on FB or Twitter? I understand how to get people who walk in to your place to get them to come "like" your fan page and then start a conversation, but is it possible to do outreach to people local to you (who haven't come to your store before)?
For building Twitter following use a tool like Follower Wonk to find your customers first by searching people with a location mention in their bios, follow them and hope they follow you back. Make sure your profile bio is very descriptive, so people immediately understand what you have to offer. After a few months, use another tool like ManageFlitter and Unfollow older accounts you started following that don't follow you back. You need to maintain a ratio with more followers than people you follow (big companies use tools to auto-unfollow accounts with poor ratio).
Facebook lets you "boost" your posts and promote them to a highly targeted audience. Getting positive ROI on this type of a campaign is hard, but you could hit multiple goals with the same stone - get likes to the page you are promoting, get likes (fans) for your product page, get shares. As your fan list grows, the overall network gets bigger and customers become easier to reach. A free alternative is to just actively comment and post on other Facebook pages for exposure to your profile and brand (need a good icon with your brand name on it) - this takes organized effort and of course time. Typically, if you are a good contributor, other Facebook accounts (esp. official company pages for small businesses in your niche that are not direct competitors) will follow you back (like your page).
For Facebook, a contest that is limited to the neighborhood the business is located in would be a way to generate buzz. If you can put a marketing spin it, it should be possible to get local news stations to cover you as well.