Just wanted to let any worried E46 owners know that you absolutely can replace your fuel pump without creating an environmental disaster. I literally had 3 miles on a new tank when my fuel pumped failed. After searching around I got worried because a bunch of people were saying OMG DON'T DO IT ON A FULL TANK!! It'll spill everywhere, they said. Your car will smell like gas forever, they said. Jack up one side of the car first , they said. Drain the tank, they said.

I just replaced the fuel pump on a completely full tank and barely spilled a drop. The tank was to the brim but never overflowed, even when submerging the new pump. I also second others' comments that it's an easy job, and would recommend doing it as a maintenance item before you get stranded like I did. I have an 04 with 83k miles.