... и поле со значением Опция25|Опция5 тоже попадет под это замечательное условие.
Хотя под условие FROM 'mysql' WHERE 'options' вообще ничего не попадет, потому что вы зачем-то экранируете названия как строки.
Правильным вариантом будет примерно такой (не тестировал):
SELECT * FROM `mysql` WHERE (
(`options` LIKE 'Опция2|%' OR `options` LIKE '%|Опция2|%' OR `options` LIKE '%|Опция2') AND
(`options` LIKE 'Опция5|%' OR `options` LIKE '%|Опция5|%' OR `options` LIKE '%|Опция5')
)
Но на мой взгляд разумнее было бы создать нормальную таблицу для хранения опций.