I wonder if the fuel system needs an overhaul, it cannot hurt or be expensive to swap out the fuel pump but my first guess is that the breather is blocked and as the tank gets low it is causing a vacuum. Easiest way to test is run half a tank then remove the fuel filler and drive it like that, if the problem goes away then it is breather.
Also, get a cheap diagnostic port reader and plug in to the diag port and read off the fault codes, Google the codes and you will see all the common problems and fixes.