SWI Prolog предоставляет normalize_space / 2, поэтому вы можете определить свой предикат следующим образом:
normalize_space_in_atom(A1,A2) :- normalize_space(atom(A2),A1).
Я пробовал это с SWI Prolog 5.7.5, и, похоже, он работает. Вы можете добавить больше обработки ошибок, если хотите.