1. Super Slick
Well, the slick way would be to look at how you might modify Views to spit out the different exposed filters into different blocks, possibly determined by a block delta setting in the configuration for each filter. That would be neat.
2. Overkill/Redundant/FAPI-hook_block() Drill
Get your exposed block, then use hook_form_alter()
to hide the filters you want to put on a different block. Then create new blocks programmatically in a new module (or if you absolutely must, the PHP Filter module and a custom block through the GUI). In that module, replicate the form elements you need in that block, including the unique exposed filter. It's useful to remember that exposed filters don't care about the form. They care about the querystring. You could type in your filter arguments in the URL if need be.
3. Conditional Modification
Implement hook_form_alter() for the form displayed in the exposed filter. To identify this form, you will first need to get the id for the views_exposed_form
(not sure it's that) then get a more specific identify out of the forms array to target only this exposed form. (You'd need this for approach #2 anyway).
Now that you have that, you can do a couple things. First, keep in mind that if you are aggressive about caching this block in a gobal way, this will break. Cache per page, or at whatever granularity you intent to change the block. For each filter you want to hide, you are going to put some logic into $form['#access']
so Drupal can look at the form element, look at the page it's on, and hide that form element because it's not in use.
If you happened to be relying on the current page path, you might do something like this:
$form['taxonomy_b_filter']['#access'] = arg(0) == 'section';
This tells Drupal to hide the imaginary 'taxonomy_b_filter' element if the current page path looks like http://example.com/section.