Your "sarcastic question" is actually rather on point. Paying in Jamaican dollars is an easy way for businesses to give a "local discount" without officially announcing one. The US$ is the base price. The JA$ price is the discount price.
I know Canadians are sensitive on this subject. I live with one! I understand your pet peeve, I hear it from Lisa on a regular basis. And while I sympathize, that does not change the reality of the world we live in today. As Dash pointed out, the global standard currency, like it or not, is the US$. One hundred years ago it was the British Pound. One hundred years from now it may be something else. But today it is the US$.
Jamaica, being a small developing island nation imports an incredible amount of items. And unfortunately those items are paid for in US$. While there is local milk production, the machines that process the milk into the cartons are imported. All vehicles are imported. All oil and gasoline is imported. When the JA$ falls against the US$, prices go up.
This peeves Jamaicans. The ones that price in Jamaican, such as HiLo and other major stores are constantly having to change their shelf prices. In HiLo in Negril, you can sometimes see multiple prices for the same item on the shelf as the old price tag was not removed when the new price tag was placed. And when you get to the register, you find out that the "new" price has been replaced with a newer, higher price that they havent had time to print the new tags yet.
This is an ongoing battle for Jamaican businesses and one simple solution, especially in tourist areas, is to simply price the items in US$. That way they dont have to continually change their prices. Mangogirl owns a business here as do I, and pricing in US$ is an easy solution to an difficult problem.
None of us like to do it, but it is the world we currently live in...