Re: Widget system
The widgets themselves are not tied to a particular theme, but the sidebars that contain the widgets are – for the very reason that you suggest, namely that different layouts require different numbers of sidebars. That information is generally included in the functions.php file of the theme directory. See for example bp-sn-parent/functions.php, the register_sidebars lines.
Some information on customizing the sidebars in your theme: http://automattic.com/code/widgets/themes/
and more on the Widget API: http://automattic.com/code/widgets/api/