How To Reach Out
As an individual, you must reach out in person. I would show up at their place of business, or at the very least call them. I wouldn't expect anything from a letter - personalized or not.
What You Offer
Now that you're actually talking to someone... what comes next? What are you going to provide them?
If you're active in the racing community, by promoting races, doing trail work, teaching skills clinics, etc. - then that is what you sell to the companies.
If you blog/write/podcast/tweet and have an active following, then that is what you sell them.
You're Just a Racer
If all you are doing is racing, then you'd better expect to put the time in and get good enough to regularly place on the podium in Cat 1 (not Cat 2). While racing Cat 2 would be a good start, there are literally hundreds of people just like you also racing Cat 2. (side note: as soon as you start placing on the podium in Cat 2, you'll likely be bumped up to Cat 1 the following year (or even mid-year, depending on the rules)).
You have to figure out what makes you different than the other 100 guys racing Cat 2, what makes you stand out, what your story is. If it is compelling, then that is what you sell them. If you don't have a compelling story, you'd better be winning all the time.
Who Will Sponsor You
I'd start local - ask businesses in your community for sponsorship.
Chances are, if they're willing to provide sponsorship, they'll want to sponsor with what they deal in. A brewpub might offer you discounted pints, a salon might give you free haircuts, a bike shop might give you discounted prices on parts and labor. Our team was sponsored by a sign making shop - they give us any sign/banner we want for free - that's an amazing deal (literally 100's of dollars of value if we make use of it) - but probably not that useful for an individual.
If you want sponsorship of a company that isn't small or local... you've got to win. For example, Kona sponsors up-and-coming racers. Their 2013 team could be found here: http://2013.konaworld.com/grassroots.cfm The gal I know on that team won every local (state-wide) XC race she entered, and placed top 5 in the XTerra world championships. That's the level at which you need to be racing to get that level of sponsorship. So start local.
Levels Of Sponsorship
If you're a racer, about all you have to offer (in terms of marketing space) is a spot on the jersey. The bike is just too small a platform to be of any use. If a part of your agreement is to wear your jersey at bike parks, then get a free-ride jersey dolled up the same way as your XC jersey and wear it at the bike park.
As far as deciding the different tiers of sponsors... when starting out, I'd treat every sponsor as a major sponsor. If you get two sponsors your first year (Kate's Knitting and Joe's Tire Shop) - give them both big spots on your jersey. Once you have enough sponsors to need to prioritize, then you'll have an idea of where to draw the line.
Good luck!
Edited to add: Looks like Pinkbike agrees, check out their article "So You Wanna Be Sponsored?"
Note: I'm just a dude who started racing a few years back with a local club team. I have no experience getting sponsors, but I do know what our team gets in exchange for sponsorship. Your best bet at getting sponsored is to join a local club team and get the benefits from that.