First off, a correction: the X-Wings were launched from Yavin's fourth moon's surface.
The main reason for this off the top of my head is that the X-Wings were only in two places- there a few in the trenches going for the exhaust port, and others covering them outside the trench. There was limited room to have lots of TIE fighters, so instead they sent a small number of elite pilots. They sent as many as were appropriate- any more and they would have gotten in each others' way. We see that they sent more than enough as it was as they managed to whittle down the number of attackers relatively quickly. The problem was that the rebels only needed one good shot from a single fighter.
As for the question of whether they had enough warning to destroy them before they got in range, I'm not sure there was. Looking at the script (available on IMDB) it doesn't show us whether they knew about the attack before the rebels started their attack run. What's certain is that the TIE fighters were only detected when they they'd already started their attack.
Another potential reason is that they may have believed it was only the first stage of an attack- they didn't think there was a threat, so they may have held back their forces believing there would be an attack from a capital ship.