I spent four years in Italy. Naturally, I did all my shopping in Italian.
Yes, haggling is the way of life in Italy, though one must learn when to use it, and when not.
For example, there is a religious articles store in Rome, very near the Vatican. They have the lowest prices of all the stores of their type in Rome. Somehow they figured out that offering haggle-free low prices in a place visited mostly by foreigners was good for business. They were right: All Vatican insiders know it and shop there.
One day, a foreign bishop, before paying, used the "magic word" sconto (Italian for discount). The cashier said very firmly, "Eccelenza, i prezzi sono buoni e bassi!", i.e., "Your Excellency, our prices are good and low!" I have never seen a more embarassed bishop in my life. :)
At any rate, the double pricing has nothing to do with anti-American sentiments (though they do exist in Italy). It's the simple law of supply and demand. Foreign tourists (not just Americans) are most likely not up to the local pricing, and are likely to be willing to pay more. The locals also have the image of all Americans being very wealthy, so they think they are able to afford the higher price.
This is quite international, not just Italy vs. America. Many years ago, my brother visited Yugoslavia (long before its split), and was interested in buying something from a street vendor. The Croatian vendor promptly offered a price, speaking in German. My brother said something in Slovak (the two languages are related, so they could understand each other).
The vendor realized that my brother was from another Slavic country, and immediately apologized (in Croatian): You're not German, you're one of us." Then he offered him a much lower price, without even being asked.
For that matter, the practice exists in tourist places in the US, though not as bluntly. I lived in Rhinelander, WI, a tourist town. One of the grocery stores has two sets of prices, one for the tourists, one for the locals. They get away with it by issuing "perks cards" and giving you the cheaper price if you present the card. All locals have one. Tourists can get one as well, but most never bother. So they pay more.