how many CIs are you planning to remove..? how many CIs belong to Business Service (logical entity) class..? I assume that you have already taken a backup of the original set of CIs...
there is a utlity called CMDBDiag which can be used to clean up CIs datasets, including child CIs. You can either delete CIs dataset wise or class wise....try that out... you can refer to AtriumCore Troubleshooting guide for detailed information about the utility.
regarding cleaning up the product catalog, you can use the "Product Catalog advanced search" form to remove unwanted entries.
NOTE: please make sure that you create proper backups of your current set of CIs and catalog entries before you delete the records.
Be careful not to delete CIs used for SRM...
If you're not sure of what you're doing, perhaps you can create a "reconciliation" job using a "qualification". This way you can purge/delete some of the classes.