Now I get it, you have diferent ways to acomplish this, I would customize an account lifecycle and use the excluding group to ensure a BP can't have two roles simultaneously.
http://scn.sap.com/docs/DOC-42562
http://help.sap.com/saphelp_crm700_ehp02/helpdata/en/47/59e40f17863d2ee10000000a42189c/content.htm
Account lifecycle is controlled by a single field with a dropdownlistbox, so for this scenario is easier to maintain rather to have an assigment block. I think is a good aproach because probably next step will be have a configuration for each "role", I been trough this...
When you select the BP Role you put some code in the do finish_input and default the BP grouping. Do you understand where i'm going to?