Hi Ajinkya,
the first question for me is why you want to do this. Forcing a new BP for every new contract makes a lot of processes much more difficult. Simply imagine a customer having two flats. This will in your model result in two BPs. If you in the future need to change the billing address for this customer you need to change this in two customers.
The second question for me is where you want to prevent the creation of multiple contracts for a BP and account. In CRM or in IS-U or in both systems.
Christian