Hi,
Basically you can create many shipping and payment methods.
Then just play with the restrictions, some payment method restricted for the retail customers and another one for the dealers.
The one for the dealers can be, for example, check. Edit the descriptions part of this payment method to what you need.
This way the order will stay in a pending status, and the retail customers can buy online and confirm their orders thanks to the other payment methods.
For the shippings, same thing, restrict the common shipping methods to the retailers, and create a new one for the dealers only with a fee of $0 and a description to explain that they will be calculated later.
The orders can then be edited manually via the backend, so shipping fees can be changed and the status too.
I hop it's clear enough to help you in this configuration.