Wow, that's a big topic to cover! Dedicated SEO companies charge a fortune to do everything you're asking and chances are they wouldn't get the results you're after, at least not with any consistency. Don't know about a specific Google site optimisation application, but definitely sign up for Google Analytics and Webmaster Tools and read around the subject.
From what I've read the three main factors are: site longevity (Google favours sites that have been around for longer, not much you can do about that except wait); rich, relevant content and quality incoming links. The days of stuffing in loads of keywords in an attempt to trick Google are long gone, it's algorithms are far too developed for that now. Any quick fixes are likely to be counterproductive as Google with be onto you and penalize your site ranking.
These are a few tips I've read:
Keywords in URL, site title and headings.
Any keywords in text should read naturally; apparently Google pays more attention to the top and bottom quarter of each page (but no idea where I read that and if it still applies).
Putting keywords in bold and italic HTML tags could help, your CSS style sheets will override this so they won't show on the page.
Keywords in file names of images, and their alternative tags (alt tags)
Obviously keyword rich meta tags for each site page individually (and having an XML site map is a good idea)
Incoming links from sites with high rankings should be built up over time and avoid too many outgoing links on your index page which will make your site look spammy.
Internal links, i.e. between pages of your site, not just in the navigational menu, may help your SEO, sure I read that somewhere .
It all takes time and consistent work so for now advertising in directories is probably the best bet, often I've found the best ones are free. What with the advent of HTML5 and the trend leaning towards mobile internet access (via smartphones) the time needed to get on the first page of Google may be better spent exploring more future proof alternatives anyway.