Как работать с ценами в разной валюте?
Хранить значения в одной (универсальной) валюте. С сортировкой проблем быть не должно. Что касается фильтрации, то просто конвертировать значение фильтра в универсальную валюту.
Например, цены хранятся в долларах США. Клиент хочет посмотреть цены от 100 рублей, тогда 100 рублей нужно конвертировать в доллары США и подставить это значение в запрос на выборку.
При выводе можно конвертировать на лету, выводиться ведь будет немного записей. В крайнем случае, если будут проблемы с производительностью, можно кешировать.
Обычно в системе фигурирует учетная валюта. Ну и на лету или стационарно вычисляемая иная валюта. В определенных ситуациях пересчет в иную валюту может оказаться не в лоб по кросс-курсам, а еще и с учетом конвертационных издержек. В общем случае это может быть нечто типа y=ax+b или даже посложнее с учетом (%, но не менее хх монет)