There are rhyming dictionaries, but also just parsing the pronunciation indicators of a traditional dictionary for matching end-sounds would work -- and allow matching syllable counts as well. Wiktionary includes pronunciation guides in 'IPA' symbols:
http://en.wikipedia.org/wiki/International_Phonetic_Alphabet
There's also 'soundex' encoding of names/words...
http://en.wikipedia.org/wiki/Soundex