There are several steps to answering your question, as there are a lot of layers to a proper online lead generating campaign.
1 - First off, did you perform the keyword research first? Meaning, you raised the question as to whether or not SEO would bring in enough searches. Google allows you to research and identify just how many searches are being performed monthly for any keyword you wish to check the stats on.
Here's what you do: Go to Google, then type out the following: Google Keyword Tool
Click on the link Google kicks back in the #1 position. Next I want you to type the keywords you are considering ranking for into the box, and click the button to perform the search.
Google will kick back the results, and tell you approximately how many times the keywords you typed into the Keyword Tool is searched for each month.
Now you have real data to work with instead of speculation. So the question will be at that time: "Are there enough searches to justify an SEO campaign?"
#2 - Before you begin spending money on traffic to your site, you need to make sure your site is properly structured to capture leads. Do you have a lead capture form setup? Are you giving your visitors a solid reason to want to give you their information?
A million visitors a month are worthless if you're not taking some sort of action to move them forward in your sales funnel.
#3 - Have you setup a Google+ page yet? Hyper local SEO and marketing can work beautifully for small business owners. It's free to setup an account, and it can drive plenty of traffic to your website if you play your cards right.
#4 - FB Ads. Facebook ads and other forms of paid advertising online can work - But generally you first want to make sure you have a thorough understanding of your demographics, and have structured a landing page to boost conversions of that paid traffic.
Don't rush into it. The best thing you can do right now is make sure you get a lead form setup on your site, and get your Google + page setup. Fine tune your conversions before you start throwing money at it. Best of luck to you in the mean-time.