Проверки
common_letters == len(x1)
недостаточно для слов с повторяющимися буквами, например "рамма марма" оно не посчитает анаграммой. Для сравнения анаграмм можно использовать или отсортированные по буквам слова (sorted("кот") == sorted("ток")) или collections.Counter() , он возвращает словарь с частотой использования букв в слове, оба позволят однозначно подбирать анаграммы.
Вариант через отсортированные строки (группируем результаты в словарь, позволит избавиться от повторного прохода по списку слов, позволит группировать сколько угодно анаграмм, а не только 2)
from collections import defaultdict
text = "кот нос ток сон клад рама вход книга вдох рамма марма мрама"
arr = text.split(' ')
result = defaultdict(set)
for word in arr:
sort_word = ''.join(sorted(word))
result[sort_word].add(word)
# выводим только парные результаты (2+ анаграмм)
print([v for k,v in result.items() if len(v) > 1])
#[{'кот', 'ток'}, {'нос', 'сон'}, {'вход', 'вдох'}, {'рамма', 'мрама', 'марма'}]