The Washington Post's Food Critic's weekly chat included a question from an irate diner at Proof (a fancy DC place) who along with his dinner companion ordered 2 beers off the menu. Not realizing they had ordered $100 beers (when most beers there are in the $10-$15 range). Related the Haggler at the NY Times addresses a diner who ordered the White Truffle Pasta only to find out when the bill arrived that the dish cost $250 (roughly 5 times more than any other entree).
On the Post chat it does put the wait staff in a tough position (at least in the beer situation where the price was on the menu). Questioning a patron who wanted it might be seen as rude. Seems that prices should be stated for specials. I tend to think think if there is a deviation from a standard expectation (like say more than twice the normal cost) that a waiter should point this out. I'm not sure it is optimal to mandate that special prices always be announced once enforcement costs are taken into consideration. I did once ask for the special price at an economic conference while dinning with a more senior colleague, and I felt a little bit embarrassed. Luckily he said we are economists knowing the price is essential to our decision making. Of course then he paid for dinner, which I'm wondering if he did because he thought I went a restaurant out of my price range (which I didn't). Which reminds me I should return the favor to that economist.
So perhaps the solution if you don't hear the price for the specials is to announce you like economics and need to know the prices before figuring out your utility.