One piece of info that I thought you may be interested in is that the usual measure for an H1B is that 3 years of experience equals one year of tertiary education. By this, you are nearly there (since a 4 year degree is typically required), but I have heard of cases where less than 12 years of experience is accepted (10 years, 12 years, what's the real difference?).
This is a funny article that I found interesting (seemed relevant ): http://www.nirenstein.com/e107/page.php?21
I also recommend applying to big firms if you want to try and get an H1B. Firstly, they have the infrastructure that allows the IT guys (who do the hiring) to say "Let legal deal with all the messy immigration issues". Secondly, if a small company wants to hire you, they will most likely need you "shortly". With the H1 cap being reached so quickly these days, this means that they may have to wait between 5 months (at best) and 18 months (at worst) in order to get you - this is often unacceptable for small companies, whereas large companies will "always need good people", and take you later, since having you in say a years time is better than not having you at all. Also, H1Bs can only be submitted 6 months before the beginning of the next fiscal year (starts 1st Oct), so if you apply, the best time will be Dec/Jan/Feb, since this will maximize your availability.
- TCG -