Yeah, they sometimes laugh at me at work as well...
Your earlier post mentioned SQL so i'm assuming you've got access to a SQL server. It sound quite straight forward for what you are wanting to do. Essentially you'll need to decide what fields you'd like to search on or, indeed, have a hidden metdata field.
That is to say have a keywords field where you can put words that should match what people type. For example "tyre" may be associated with a garage and so might "MOT", etc.
You could then return the relevant records with a query such as:
SELECT * FROM tblBusiness WHERE Bus_Metadata LIKE '%tyre%'
Selecting a location can be a bit more complicated unless you use a drop down menu. If difficult to know if Bristol is near Hull from a computer's perspective (or course as the're both ports they must be next to each other!).
Hope I've not confused you. I think the next thing for you to do is work out your database schema. i.e. What information you want to hold and how you want to hold it (for example "location" may be from a lookup table, how do you hold multiple telephone numbers - or are you only going to allow one).
Hope this helps.
Jono