What do you call someone when they're always asking for something, and then is dissatisfied after getting exactly what they ask for?
I cannot find the precise word but there are many options which are close:
demanding - "making others work hard or meet high standards; not easily satisfied" (Oxford Dictionary)
misery - "a person who is constantly miserable or discontented" (Oxford Dictionary)
shrew - "an insulting word for a woman who always complains, argues, or nags."
fastidious - "hard to please."
high-maintenance - "demanding a lot of attention." (Oxford Dictionary)
ingrate - "an ungrateful person." (Oxford Dictionary)
There are some more options here: http://www.macmillandictionary.com/thesaurus-category/british/people-who-complain-a-lot-or-are-difficult-to-please
What do you call someone when they're always asking for something,
You would call them a beggar.
and then is dissatisfied after getting exactly what they ask for?
Then you would call them a chooser.
This comes from the phrase "beggars can't be choosers".
TheFreeDictionary defines the phrase as:
If someone gives you something you asked for, you should not complain about what you get.
Wiktionary defines the phrase as:
When in need of help, one cannot dictate how that help is given. Put another way: when one's situation requires one to beg, one cannot complain about the insufficient or substandard gifts that one receives.
These two links list a number of good canidates. I like the list presented in the first link.
My favorite possibilities are:
From the answers so far haven't really captured the fact of changing from saying they wanted something to them then saying it wasn't what they wanted.
I would call this two–minded.
Definition of TWO-MINDED Having two inconsistent attitudes toward something http://www.merriam-webster.com/dictionary/two-minded