1) Standard full fare ticket Warsaw-Prague-Warsaw costs 82.4 EUR per person, it is valid for one month and you can actually take any train running via route indicated in the ticket (direct trains go via Zebrzydowice(Gr)). In case you decide to purchase seat/sleeper reservation you will have to pay extra, exact sum depends on choice of sleeper/couchette.
Also for route Warsaw-Prague Polish and Czech railways offer special discounted tickets for the daytime direct trains (EC 110/111), it cost only 19 EUR one way. But those are sold in limited number per trains, thus it's better to buy them as early as possible. At the same time Polish railways doesn't sell it online, thus you will have to purchase it already in Poland or use an agency (sometimes those aren't reliable). While for route Prague-Warsaw you can easily purchase such discounted ticket online -
https://www.cd.cz/eshop/2) In terms of timing, fastest option is the already mentioned daytime EuroCity train, it takes eight and a half hours (9:10-17:48), but such option might be a bit inconvenient since you basically loose a day (unless you like looking around through the train window). Direct overnight train takes 11 hours (20:36-7:48). All other options will require a train change
3) You can easily purchase your ticket at Warsaw Central station or any other PKP InterCity offices around town.
4) Well, Prague Central train station located pretty much in the city centre, so it's not a problem even to walk around or simply use public transport (subway, trams or buses). Anyway, we hardly can recommend any specific company in case you still decide to go with shuttle service, but simple google search will definitely give you some
5) Again, we won't advertise here anything specific, but sent to you (using forum mail) usual website were we personally look for an accommodation.