Вы можете выбрать обе локали, добавить искусственный приоритет (согласно вашим правилам) и выбрать только одну из них (самую высокую):
select top 1 id, locale
from (
select 1 as priority, id, locale from category_table
where CatergoryID = 1 and locale = 'fr'
union all
select 2 as priority, id, locale from category_table
where CatergoryID = 1 and locale = 'en'
) x
order by priority
Или ... вы можете написать:
select top 1 id, locale
from (
select
case when locale = 'fr' then 1 else 2 end as priority, id, locale
from category_table
where CatergoryID = 1 and (locale = 'fr' or locale = 'en')
) x
order by priority