Hi
Given the late finishing monsoon in the last couple of years I suggest going as late in your time frame as you can. Typically, the monsoon ends in mid-September with some lingering rain, but heavy have rains lasted into October recently.
3 weeks in Nepal is enough time to trek to EBC - standard itineraries take 14 days flying in and out of Lukla. It can be done more quickly depending on fitness and acclimatisation. Flights in and out of Lukla can be cancelled for days at a time so it makes sense to start the trek as soon as you can so you have some spare time to minimise the risk of missing the flight home.
It's not always necessary to book in advance but this might depend preferred trekking style and that October is high season and the demand for flights is high. Do you want to trek independently or with an organised group?
The cheapest route to Nepal will depend on where you are leaving from...but often via Delhi is the cheapest.
Most nationalities can obtain a visa on arrival, $40 for 30 days. Two pieces of paper are needed to trek; the national park fee is about $13 (1000 rupees to be exact) and the TIMS card which is either $20 trekking independently or $10 if using the services of a trekking agency.
scoodly