Hi Vicky ,
I have following comments -
1. How these contract accounts are created ? Through any enhancement done ?
2. You can differentiate the same based on the number range, if you are using different number range for source account and the contract accounts. Say for source account you can keep a number range which will be different than the contract accounts.
3. Also, as a standard, if you create any relationship, it will anyway create a BP id in the system.
4. Also, if possible do the data cleansing by archiving the duplicate BP records in your system.
Hope this will be useful
Thanks and Regards
DJ