strtotime(), похоже, понимает синтаксис. Вам просто нужно предоставить его в первый день месяца, о котором идет речь, в качестве отправной точки.
echo date("d.m.Y", strtotime("third thursday", mktime(0,0,0,10,1,2010)));
// Will output October 21
echo date("d.m.Y", strtotime("third thursday", mktime(0,0,0,11,1,2010)));
// Will output November 18