On the first question: Usually buying tickets in advance is cheaper. On your travel date advance tickets start at 19 (fare type "Europa-Spezial Tschechien"). The regular fare is 34,60
The English booking page can be found at
http://reiseauskunft.bahn.de/bin/query2.exe/en?ld=9640&country=DEU&rt=1&newrequest=yes&&country=GBR
On the booking page you can specify for each traveller, if he has a Bahncard (and which type BC25 or BC50) or not.
Some side notes:
Discount fare ticket are only valid on the train specified on the ticket. Whereas regular fare ticket can by used on (almost) any train running on the given route.
Train tickets in Germany do not include a seat reservation. If you want to reserve a seat this will cost 4,5 each.
I guess that the ticket will be offered to you as an "online ticket", which means that you will be sent a pdf that you have to print and present on the train. An online ticket requires you to provide some form of ID during the booking process and this ID must be presented to the train staff when they check the ticket.
Most easy form of ID is a credit card (so you will have to provide you credit card number twice during booking: once for indentification and once for payment)
Enjoy your trip.
Regards from Germany
Charly