Seems a bit overkill. A quick way around having to do the extra leg work is:
Setup a variable table **
Toss your ID set based on your critiera
Setup a while loop to delete blocks of IDs (in thousands) from your main table using you temp table IDs as guide
** For super data sets use a temp table and put the appropirate indexes in place
This approah is quick, easy, doesn't lock the table and can be done in production hours
🙂