RE: Companies with no Active Contacts
Well, I understand the issue with the limitations of Advanced Find. How many Companies/Accounts do you have? You could pull two lists - 1 All Companies and 2. All Companies with an Active Contact, export to excel.
Then put both into the same excel sheet and compare the lists, remove the ones that have an account in each list, then you have a list of accounts to turn off. From there, you could attempt to import that list as inactive (you would need a unique id for the import, plus I am not 100% sure on limitations of importing records as inactive). If that idea doesnt work, due to the import, you could flag them all in a different field, then filter on said field and deactivate.
If the excel idea is out of the question let me know, Im sure I can come up with something else.