Yup. Look at the advanced BrowseDialog sample and the docs in the 1.6.5 release to see how to handle the Searching event. Just create a custom field in the BO to which the search field is attached, then adjust the query through the Searching event of the BrowseDialog when executed.
Not possible at present. We dynamically create the controls so that we know how to deal with them. So if you need to have custom controls as the search fields you may have to create your own browse. Sorry.