Yes. US dollars are accepted everywhere, and you usually get a slightly better exchange rate just paying with dollars versus exchanging at the airport.
The short answer is yes, dollars are accepted everywhere. Sometimes things are even priced in US dollars.
Some places will not take bills higher than a $20 because of problems with counterfeit money.
I usually get like 40000 colones out of the ATM at the airport.. just so I have some with me. If you pay with US dollars, you will get change in colones.
Just remember, ROUGHLY, a 20 dollar bill is 10,000 colones. (technically its more like 10500, but it's easier math to ensure you don't get ripped off to just remember 10000=$20)
Also, bring a credit card without a foreign exchange fee, as that will give you the best possible exchange rate. Most of the country will take credit cards, but there may be some remote areas that won't take them, so just plan ahead.