Suggestions were applied. I removed RECOMPILE and renamed the @p parameters to meaningful names.
Also, i ran a load test yesterday with 500 users putting a load on a web page that calls this stored procedure.
The load test ran from 5 computers all running 100 users.
The initial test begins with 1 user which increments and by the 5th minute of the 10 minute test all 500 users were loaded.
So for 5 minutes straight i am putting a load on a search page.
No sql timeout errors.