I not 100% clear what your question is so hopefully this can point you in the right direction for conditional widgets. I will give you 3 options.
1.
is_active_widget
checks if widgets are active based in the widget ID.
2.
Using is_active_sidebar
and creating more sidebars usually gives you better control over widget output.
- http://codex.wordpress.org/Function_Reference/register_sidebar
- http://codex.wordpress.org/Function_Reference/is_active_sidebar
3.
Use a plugin, there are several plugins that have post or conditional logic built into them.
- http://wordpress.org/extend/plugins/display-widgets/
- http://wordpress.org/extend/plugins/widget-logic/
- http://wordpress.org/extend/plugins/dynamic-widgets/
4.
Try to use the widget_display_callback filter for example:
add_filter('widget_display_callback','your_custom_function',10,3);