sara' che sono un sempliciotto.... e ragiono da tale .... ma mi pare la stessa cosa:

codice:
$delta = 2;

select *
from tabella
where concat(year(curdate()), date_format(data_nascita, '%m%d'))
between curdate() AND curdate() + interval $delta month
order by data_nascita
correggimi se sbaglio.