Agree with cougie to do a few morning runs at least - it can be a very different experience from running in the evening!
1. Eat something you know your stomach will tolerate the morning after (a good reason to try running in the morning beforehand). Loads eat pasta but I find that doesn't sit too well for me on the stomach so I usually have pasta two nights before and something potato based the night before. But this is something highly individual.
2. Again depends on the individual - I know some runners who can pretty much leap out of bed and be up to speed in minutes, where as I can be two to three minutes a mile slower! Typically I allow 3-4 hours, but curiously my half marathon best comes from waking at 3am to watch the Australian GP live and then heading down to Reading which was 7 hours.
3. For a race I normally have a normal breakfast (Cereal or porridge) with coffee, then an hour or so before the race have an energy bar, or banana or malt loaf. Again though this is highly individual and you will only know what suits you best with practice.