The quick answer to this problem is to NOT use all of the ORs you're using. Gail Shaw wrote a wonderful article about such "Catch All Queries" and the benefits of using Dynamic SQL to do such a thing. Her article can be found at the following URL. Please read it and give that method a try.
http://sqlinthewild.co.za/index.php/2009/03/19/catch-all-queries/
--Jeff Moden
Change is inevitable... Change for the better is not.