Well, Rawalpindi say direct chitral ki garyan raat 10 bajay jati hain... (Chitral to Pindi subha 8 bajay) travel time 12 hours. If you miss this time, you have to go Dir and from there you have to wait for a vehicle to be full at Dir...
Mardan say direct gari mushkil ha..however you can go to Dir an then to Chitral from Mardan.
Regarding hotels, go get there and select a hotel by checking rooms and your budget. Hotel is not a big issue. Hotels are cheap there.