1) You will want to use the local currency. The U.S. Dollar and the Euro is easily exchangeable in the entire region. So it depends on what your home currency is. The best option, though, is to use an ATM/debit card to withdraw money as you go. You will usually get the best exchange rate, which makes up for the fees your bank might impose. (Call your bank for more information.) I usually take two backups: A stash of $100-$200 U.S. (Euros would be fine, too) that could get be out of a bind in case of a problem with my ATM card. Also, a credit card, for the same reason.
2) Most ATMs have no local fees, so you need to only worry about your own home bank's fees.