Można to zrobić na przykład tak:
(SELECT *
FROM tabela
WHERE id<100
ORDER BY id DESC LIMIT 10)
UNION
(SELECT *
FROM tabela
WHERE id=100)
UNION
(SELECT *
FROM tabela
WHERE id>100
ORDER BY id ASC LIMIT 10)
i masz 10 rekordów w jedną stronę, 10 w drugą, i ten, o który ci chodzi dokładnie w środku.
Można też zrobić to w ten sposób:
SELECT *
FROM tabela
WHERE id=100 OR id
IN (SELECT id
FROM tabela
WHERE id<100
LIMIT 10) OR id
IN (SELECT id
FROM tabela
WHERE id>100
LIMIT 10)
ORDER BY id
o ile dysponujesz podzapytaniami.