I think, as long as you are polite, there isn't an inappropriate way to express your interest in obtaining a card.
You really have 3 options listed there. Is that card for sale? How much for that card? Nice card, let me know if you ever want to sell? Those are just three slightly different ways of asking if a card is for sale. People may have a personal preference for which they prefer, but that is the same as having a favorite color. What I'm reading as options are:
A) Asking if the card is for sale
B) Making an offer
C) It is never appropriate to make an unsolicited offer for a card not posted for sale
Personally... I think 'never appropriate' is a little silly. This is a 'you snooze, you lose' world. You see a card you want, and you don't ask if it is available... The next person does, turns out it is, and buys it. The person who has the card should be flattered that somebody else likes it so much that they want to own it. Responding "Thank you for your interest, but the card is not available." isn't so much work. If the person with the card is that upset about unsolicited offers, they can always include "NFST" or "not for sale or trade" when they post the card.
That said, I think there is more to it than what you have listed in your opening post... How was the card posted? Are we talking about a posted box/case break vs a mail day/custom/commission? Is the person who posted the card known to sell a lot of cards?
If it were my poll, I'd probably list the options more like
(A) PM asking if it is available for sale/trade
(B) PM offer
(C) Post asking if it is available for sale/trade
(D) Post offer
(E) Post, PM me if it is available for sale/trade
You can change the words around to fit your personal preference, but I think those are the 5 actions that are available. I think any of them are fine, but I think most people prefer to negotiation privately.
My B/S/T thread: http://www.blowoutcards.com/forums/non-sports-singles-buy-sell-trade/564803-spider-fans-fs-ft-thread-5finity-marvel-sketch-cards-inserts-sets-pscs.html