domanda interessante...

la soluzione che ora mi viene in mente è questa:

struttura

table WORDS
id - word

table SYNONYMOUS
id_word1 - id_word2


dati

WORDS
1 cold
2 chilly
3 fresh

SYNONYMOUS
1 2
1 3
2 3

per sapere i sinonimi di una parola basta fare un WHERE id_word1 = $id OR id_word2 = $id

è una soluzione pensata in 5 minuti... magari cè qualcosa di piu intelligente...

PS potrei proporre questo come contest (guarda la sign)