Spindash, to get quicker you should try and introduce a couple of "speed" sessions per week. You could start with intervals (warm up, short quick bursts i.e. faster than 5k pace followed by slow jog and repeat, warm down), a progression run (start easy and increase the pace by 30 secs each mile) or a tempo run (warm up, fast paced run, warm down or something like a park run). Doing this on a consistent basis will help with speed. Essentially, you are training your body to run quicker in short bursts so your body can handle running these speeds.
Satriales, yes you could 5k to 38miles in six months. You should adopt a process of building up your mileage week by week (no more than 10%). The key session is the long run where you should be getting a lot of "time on your feet". It may be worth taking 1 week in every 4 as an easier week, before pushing on. You can Google for 50 mile training plans or check out some on
www.ultramarathonrunning.com. When running Ultras for then there will be an element of walking and running at first, so for the race itself (and training) you may wish to consider a run walk strategy of say 25 mins running, 5 mins walking and repeat. Tactically, try and avoid the pitfall of running too quickly burning out and walking lots at the end. Running a minute or two per mile slower over the first 20 miles (say you run at 10m/m and do 11 or 12 m/m) may mean you are 20-40 mins behind your pace on a 20 mile run. However, if you end up walking your pace can drop to 15 (a fast match) to 20m/m. So conserving the pace and keeping going will pay huge dividends towards the end.