Only Custom Objects that have a tab that is set to Default On or Default Off appear in search results for that profile.
http://stackoverflow.com/questions/8995478/salesforce-how-to-add-a-custom-object-to-search-results
Set up your Search Layouts and add columns to filter.
Yep, setting up Search Layouts for each object is time consuming and fiddly, but worth it for the end user's benefit.
Help Notes https://help.salesforce.com/HTViewHelpDoc?id=customize_searchlayout_notes.htm&language=en_US
This is a handy help topic on examples of Lookup Filters https://help.salesforce.com/HTViewHelpDoc?id=fields_lookup_filters_examples.htm&language=en_US
I always forget how to do Enhanced Lookups. I find them cumbersome to set up.
https://help.salesforce.com/HTViewHelpDoc?id=search_enhanced_lookup_enable.htm&language=en_US