If I enter an establishment that offers drinks/coffee/food and say "I'd like a coffee/beer/whatever" and the waiter gives it to me, shouldn't they explicitly mention that it's not for free?
No. Visitors/customers know very well it is common practice for those establishments to charge an amount in exchange for drinks/coffee/food. That common knowledge satisfies the contract law premise that the "clause" of payment is "entered" knowingly (and willfully) by the establishment and the customer.
In fact, that practice is so common that the establishment makes it very explicit --usually with publicity and notorious signs-- when it intends to provide goods for free. Thus, there are no grounds for you to reasonably expect that the good(s) at issue will be free in an ordinary situation.
If some person is handling pens with ads on a corner, and I say "I'd like a pen" could the person just reply that it's $1?
Yes (perhaps putting aside any particular scenarios of discrimination on the basis of protected categories).
For instance, the person's intent for the ads on the pens might be to reach a market sector to which you don't belong. Thus, in your case, the person might want an alternative benefit (namely, the amount of $1) to spend his pen/ad on you, since he knows that his advertising/marketing purpose is preempted here.
Would the scenarios above be any different if a mentally challenged person went through them?
They could be different, as mentioned in the other answer.