Совет на будущее: насчёт идеальности кода - это ваше оценочное суждение и не надо его вставлять в вопрос, если вы хотите получить хоть какой-то дельный ответ.
from collections import Counter
задание = "АРОКСИЛИРОВАНИЕ".lower()
длина = 7
counter_задание = Counter(задание)
with open('D:\\Program Files\\Text\\слова\\1.txt', 'r') as f:
filtered_words = (word.strip() for word in f if длина <= len(word.strip()) <= len(задание))
результат = [word for word in filtered_words if Counter(word) <= counter_задание]