You could test for the master_categories_id of the Product and use that to determine the banner to display ...
The banner to display could be done base on a customization to the banner display based on this by customizing the code, for example in the tpl_main_page.php file:
Code:
<?php
if (SHOW_BANNERS_GROUP_SET3 != '' && $banner = zen_banner_exists('dynamic', SHOW_BANNERS_GROUP_SET3)) {
if ($banner->RecordCount() > 0) {
?>
<div id="bannerThree" class="banners"><?php echo zen_display_banner('static', $banner); ?></div>
<?php
}
}
?>
That instead of sending the SHOW_BANNERS_GROUP_SET3 it would send a banner name based on the categories_id found for the Product based on its master_categories_id ...
This would allow you to make "Banner Groups" based on the categories_id so that you have the features of the Banner Manager to control the banner displayed ...
It would take some customization to the code and building a naming convention for the Banner Groups ... but it can be done ...