Я от програмирования ушел достаточно давно, но когда-то встречал и использовал алгоритм, который определял степень в процентах схожести двух строк. Я его использовал в БД oracle, писал на plsql. Так вот один из вариантов следующий - пользователь задает уровень совпадения в %, и любые две строки, которые по определённому алгоритму показывают уровень совпадения выше порогового, считаются равными. Ну и тогда сравниваются цены. Написать програмку такую конечно можно, но чтобы не сильно гемороиться нужно знать формат таблиц прайсов, ну или загонять строки прайсов в БД без привязке к структуре самого прайса и сравнивать всё со всем, в общем задача интересная, в большей степени сложность в алгоритме, чем в реализации.