Em vez de ler a tabela de serviços diretamente, use uma subconsulta e junte-se a ela.
select s.*, u.`fname`, u.`lname`, aif.`airport` FROM
( select * from services order by id limit 2) as s INNER JOIN airports_in_flight aif
ON s.`id` = aif.`service_id` INNER JOIN users u
ON s.`service_provider_id` = u.`id`
Dependendo da sua versão do mysql, você não pode ter uma subconsulta IN usando limit e offset (Esta versão do MySQL ainda não suporta 'LIMIT &IN/ALL/ANY/SOME subconsulta'), mas isso ainda funcionará.
EDITAR:
Se você definir a consulta interna para isso:
(SELECT s.id
FROM services s
INNER JOIN airports_in_flight aif
ON s.`id` = aif.`service_id`
INNER JOIN users u
ON s.`service_provider_id` = u.`id`
LIMIT 2)
Em seguida, ele retornará apenas serviços com aeroportos_in_flight e usuários (possivelmente adicionar uma cláusula distinta).
EDITAR para esclarecer:
Agora você tem isso como seu select:
select s.*, u.`fname`, u.`lname`, aif.`airport` FROM
services as s INNER JOIN airports_in_flight aif
ON s.`id` = aif.`service_id` INNER JOIN users u
ON s.`service_provider_id` = u.`id`
Você quer limitar a 2 serviços (não sei se você quer todos os serviços, estou supondo apenas aqueles com usuários e aeroportos correspondentes em voo), então você precisa colocar o limite na tabela certa.
Nesse caso, a tabela correta é a tabela de serviços. Para simplificar as coisas, vamos começar com uma versão simplificada do que você tem:
SELECT s.*, aif.`airport` FROM
services as s
INNER JOIN airports_in_flight aif ON s.`id` = aif.`service_id`
Vou supor que há um aeroporto na fila de voos para cada serviço (podemos adicionar essa complexidade mais tarde).
Para listar os 2 primeiros serviços, queremos o limite dos serviços, não a consulta inteira, então seria:
SELECT s.*, u.`fname`, u.`lname`, aif.`airport` FROM
(select * from services limit 2) as s
INNER JOIN airports_in_flight aif ON s.`id` = aif.`service_id`
Observe que substituí os serviços de tabela por uma consulta, que agora posso limitar, esta é a subconsulta. Se agora queremos ver apenas os serviços que têm um aeroporto em voo, precisamos alterar essa subconsulta de:
select * from services limit 2
para
select ss.* from services ss
inner join airports_in_flight aifs on ss.`in` = aifs.`service_id` limit 2
Renomeei as tabelas services e airports_in_flight ss e aifs para que não colidam com os nomes na consulta principal, coloquei uma junção interna para limitar minhas linhas apenas à tabela de serviço e limitada por 2, colocando a subconsulta em a consulta que obtemos agora:
select s.*, u.`fname`, u.`lname`, aif.`airport`
FROM
(select ss.* from services ss
inner join airports_in_flight aifs on ss.`in` = aifs.`service_id`
limit 2) as s
INNER JOIN airports_in_flight aif ON s.`id` = aif.`service_id`
Você deve poder expandir a subconsulta para adicionar a junção interna para usuários (limitando assim os serviços apenas para aqueles que têm linhas airports_in_flight e linhas users) e adicionar a tabela users à consulta principal.