1) You could use a check box to select delivery, if unchecked it would be pickup. You can use the new form toolkit extension to add a date picker form field to your form for delivery date.
2) The eCart checkout form already includes a shipping section, couldn't you just use that as the delivery info?
3) how are you establishing location? based on City? Zip Code? you will need to determine this first.