In addition to the ATMs in the big resorts (don't know about them), there are two ATMs right in the centre of Dahab (Assallah), where all the restaurants, budget accomodation and dive shops are located.
Only get as much Egyptian money at the airport as you will need for the taxi (about 120-150 LE) or bus to Dahab (in case you're flying into Sharm), the exchange rate will be better outside the airport.
The visa can be paid for in any hard currency (no need to get US$ if you have GBP or EUR) and does not have to be the exact amount, you will get your change in LE. (If you're only planning on staying and diving in Dahab you won't need the visa, however, it is required for Ras Mohammed and the Strait of Tiran).
Any hard currency can be exchanged in the banks in Dahab. I wouldn't bother with TC, Egypt is very safe.