From what I can tell from previous trips, online bookings on tcdd.gov.tr can open as late as 15 days before departure, though I've booked a month in advance before. The man in seat 61 (seat61.com) gives a pretty good description of the booking process and a fairly accurate idea of which trains run. The Vangolu (Lake Van) express is often cut back to Elazig and the ferry from Tatvan to Van is apparently rather irregular, but it would be an interesting ride nonetheless and with a sleeper, the best way of covering such a distance. The only 'direct' train (apart from the ferry) is the Tehran service, but allegedly this only takes international passengers.