Hey Chris. Well, you could reinvent the wheel and try to come up to speed on negotiating construction contracts, or you could do a more effective form of homework. Is it safe to assume that some of the contractors that provided bids had been recommended by friends and neighbors? Did you ask the contractors for recent and not so recent references and checked up on them? Have you checked with the licensing board and the BBB? It's also good to ask a couple of people (counter help and outside) at the local roofing supplier for someone who is reputable and does a reasonable volume of work.
Of course you have to make sure you're comparing apples to apples. You need to make sure that all the contractors are bidding on the same thing. Same shingles of course, whether they're reusing or replacing the flashing, drip edge, type of underlayment, how they deal with the valleys, type of ridge venting, etc. You should also ask about how they deal with protecting your property and clean up.
After you have done all your homework and gotten bids from your short list, there will usually be one or two guys that start standing out from the crowd. They'll make you feel comfortable with their ability to do the job and stand behind what they say. That doesn't mean that you'd necessarily want to hang out with them, but that they are straightforward and the type of person you like to do business with.
As far as negotiating prices, that will depend on the contractor. Some might have built in some wiggle room and won't mind flexing a bit. Others might feel that you're trying to chisel them down and that you'll be a "problem" customer. If you want to open up the discussion, ask them if there's a way to bring the price down a bit, and where you might save some money. You didn't go into details about your project, and roofing doesn't have a lot of unnecessary steps or wasteful techniques, but you'll find that some contractors have a preferred way of doing things and that the price goes up pretty quick when they can't do it their way.
good luck with it
R