If you want ALL variations to match a specific phrase, I'd rather go with string-distance functions, than with soundex.
The simplest one is the Levenstein distance and here's an example implementation in T-SQL.
Levenstain distance is a measure of how many edits need to be performed on one string to get the second string. This function is frequently used in so called fuzzy searches where you're interested in getting results similar, and not exactly matching your search criteria.
Also, since you're working with MS SQL Server, I'd consider using Data Quality Services for cleaning up contents of the database.