I have a similar process but was disatisfied with soundex for phonetic matching, so here is an alternate algorithm:
CREATE FUNCTION dbo.DoubleMetaPhone (@str varchar(70))
RETURNS char(10)
AS
BEGIN
/*#########################################################################
Double Metaphone Phonetic Matching...