Is there a function I can use to delete a product and include a where clause or do I have to use a custom SQL query to handle this?
Depending on what the 'where' clause is, you could use the advanced search to search for the appropriate conditions and then bulk delete the products? Sounds simple but it's always the simplest of things I usually forget!
There is a function called advanced search? Where is it in the core files? What about is there a function like say fn_delete_product that does all the things needed to delete a product.