Go with the small company, imo. Heres why:
1. With small companies you don't feel like you are number
2. Small companies you have more room to grow
3. You are never going to work for the large company forever, most engineers are out after two years (so sweet retirement packages don't matter)
4. Money isn't everything.

Let me relate my story, it may help, may not. Mining engineer out June 2005. I had four offers, differing greatly in money and location. I picked the small company, which also paid the least, but had the best location.

I took the position as second in control of this small subsidiary of a parent Canadian company; we have grown from five employees to 25 in two years. There are times when I run this mine, alone, for up to a month - this is unheard of for someone my age, out under two years. I have also learned so much, because the oppurtunity is there (where it might not be at a large company).

Headhunters continue to come after both myself and my boss - I got an offer two months ago to run a mine in UT (just utside of Moab damnit), with twice the salary and even more benies. I didn't take it - I have more of a chance to grow here. I have a real chance of taking over a company with 25 employees, making over a million dollars a year, in the next year, which I helped start from nearly nothing. Insane if you ask me; I hope I will be ready for it.

Either way, you are gunna work 50+ (at least) hours per week, doing shit jobs to start - ah, the fate of junior engineers. Put in the time, and the work, and someday get out of engineering and into manamgent and then make a bunch of money.