Предлагаю выделить опорные слова:
а) миллион (миллиона, миллионов)
б) тысяча (тысяч, тусячи, и если другие падежи нужно, то "тысячу" и пр.)
в) миллиард во всех склонениях
г) триллион во всех склонениях
и т.д.
Далее перед этими опорными словами смотреть уже на как бы множитель. Сам множитель - как бы сумма входящих в него слов.
Таким образом, один миллион двадцать тысяч семьсот пять раскладывается так:
(один) * миллион + (двадцать) * тысяч + (семьсот + пять) * 1
В скобках - множители. Как видно, сами множители являются суммой. И после перемножения с опорной основой, все части складываются воедино. Если основы нет (в конце), то за основу считаем 1, очевидно.
Другой пример:
(сто + двадцать + три) * миллиона + (двести + тринадцать) * тысяч + (сто + десять) * 1
Самих слов не так много. Около десяти опорных (плюс склонения), далее числа от 0 до 19, далее десятки от 20 до 90, далее сотни от 100 до 900, - вот и всё.
Правда, есть экзотические примеры, типа "пара сотен" или "дюжина". В принципе, они тоже попадают под эту схему, в нее нужно лишь добавить больше опорных слов, а также больше обычных слов. Но вообще это уже выходит за рамки задачи, иначе всякие жаргонизмы тоже нужно забить в схему, что геморно.