What's the best way to get from Freiburg to Hannover in October? I mean fast, safe and cheap by best.
How long does it take, approximately?
The standard way would be to take a train. The German railways site is the place to look for train schedules and prices, and you can book online and print most ticket types at home. The website normally shows the fastest routes only, but you can tell it to omit ICEs (high-speed trains, often more expensive) or to stick to regional trains (slowest and usually cheapest).
The bad news about German rail prices is that they are very complicated. The good news is that the DB trip planner will usually offer you the cheapest price for a given connection. The exception is that sometimes a day ticket is cheaper even for a single trip, and the website won't always tell you. Generally speaking, you will get a substantial discount if you decide on a day and time early and book a non-refundable, non-exchangeable ticket. These tickets can often give you high-speed travel for a similar price as regional trains. Some ticket types also include the possibility of local travel (buses, trams, U-Bahn, S-Bahn) at the beginning or end of the journey, check if it's a possibility (it's rarely a deciding factor in choosing a fare type).
At the moment, the cheapest fare I can see in October is 44€ for a high-speed connection (direct, or ICE most of the way with one change), if you avoid the heaviest-loaded peak hour trains, for a 4½ to 5 hours journey time. Alternatively, you can pay 42€ for a ticket that lets you travel on all regional trains in Germany for a day provided you start after 9am (Quer-durchs-Land-Ticket). Do note that Freiburg to Hannover is 10 hours on regional trains.
If several of you are traveling on the same route, note that some ticket types offer considerable discounts for additional passengers. For example, the Quer-durchs-Land-Ticket is only 6€ for each additional passenger traveling together. The Schönes Wochenende Ticket, valid for one day on a Saturday or Sunday in regional trains only, is 39€ for up to 5 people. Thus one possibility for cheap travel is to find someone who's taking the same train anyway and offer to pay the add-on price. I don't foresee this working well for a cross-country journey like yours though.
Sometimes you can get cheap fares on budget airlines. These are often only attractive if you have a cheap way to get to and from the airport; otherwise the cost of local transportation can be prohibitive. There's no airport near Freiburg; the closest is the Basel/Mulhouse/Freiburg EuroAirport, and a bus ticket to Freiburg is a whooping 22€.
If you don't take the train and don't fly, your other option is to hitch-hike. That can come out cheapest, if you find someone going the right way at the right time.
If you're traveling from the Basel/Mulhouse/Freiburg EuroAirport, the situation is quite different. Flying might be more attractive, though for this particular combination of cities it doesn't seem to be: you can't fly direct to Hannover, only to Hamburg, and Easyjet's cheapest fare comes out at 41€ (including the booking fees in small type).
The best train route is via Basel (which you can reach by a relatively cheap (4€) local bus); this requires going through Switzerland (which may be a problem for some visa types). (While there are both an SNCF (French railways) station (Basel/Bâle SNCF) and a DB (German railways) station (Basel Bad Bf) in Basel, they are separated by a few hundred meters of Switzerland. The SNCF station is next to the Swiss railway station, Basel SBB. Since Switzerland has joined Shengen, border checks are no longer systematic and Shengen visas are valid.)
At this time, the 44€ rate from Basel Bad to Hannover is available if you travel near the middle of the day. Book early, as prices will rise towards the standard fare (119€) as the travel day approaches. Many discount rates are also valid from Basel SBB (which is where the bus from the airport drops you). There's also a discount rate for international tickets from and to Germany, Europa-Spezial, but I'm not sure if it's available from Basel. There's a direct night train as well; it's more expensive than the day train but can be less expensive than the day train plus a night in a hostel.
If you need to avoid Switzerland, take a bus to Saint-Louis then French regional trains to Mulhouse and on to Strasbourg. You can look up the times, but not book, on the DB website (Saint-Louis is “St-Louis(Haut Rhin)”). You can look up times and prices on the French regional trains website (French only as far as I can see); there are no discounts for advance purchase on regional trains, so buy your ticket when you arrive at the station.
As @iHaveacomputer already said, you could consider using a Mitfahrgelegenheit, a form of car-sharing.
At the moment, this is by far the cheapest way to travel in Germany.
People planning to drive to a certain place at a certain time announce that on the Internet; people looking for a ride to that place contact them, and ride along.
There are two major web players on the Mitfahrgelegenheiten market:
mitfahrgelegenheit.de does not charge community members for contact information; it is available immediately, and publicly. That makes it the superior choice IMO.
In contrast, mitfahrzentrale.de's business model is to charge the seeker looking to contact drivers. For payment, you either call a premium telephone number (charging €1.86 a minute at the time of writing; I do not know how many minutes it takes to get hold of the data.) or pay through bank payment. Both options may not be available to you as a traveler.
Using a Mitfahrgelegenheit is not always a 100% reliable business. Appointments are usually made by E-Mail or phone, and sometimes, people will simply not show up - although naturally, the drivers usually do. Mitfahrgelegenheit.de is offering a booking and payment system that allows for reliable reservations, but the vast majority of rides is still worked out by phone.
Still, this is a very cheap and potentially pleasant way to travel the country and get in touch with some locals - the ride you are looking for averages at between 25 and 35 Euros. The regular high-speed train fare (without advance reservation and special deals) is about 113 Euros. There are cheaper train options, but they usually entail excruciatingly long travel times on crappy trains with lots of changeovers.
Fast and safe would be the train, however this is not exactly cheap unless you have a "Bahn Card". For fast and cheap try http://www.mitfahrzentrale.de/ . I would say it's pretty safe, since people in Germany don't carry that many weapons anymore since 1945, however some people tend to be unreliable, or late... even in Germany :)
I think that are you only 2 options that make sense if you don't have a car; there is no long distance overland bus system like greyhound in Germany.
As others have mentioned, Die Deutsche Bahn, or Mitfahrgelegenheit is probably the cheapest option.
But for the sake of completness I want to mention Eurolines. It is a coach company that connects all big cities in whole Europe. I personally used it for example to travel from Tallinn to St. Petersburg. It is relatively cheap, reliable and comfortable. The coaches are generally in a good form.
There are also some connection that travel between different German cities.