We pretty much always give DS choices. With practice he's become quite good at coming up with options of his own even - things that give us both what we need, but options I hadnt' thought of.
When he was younger we found limiting choices to 2 was best, but now he can handle 3 or 4 even (depending on how tired/hungry he is)

ETA - actually I think 2 year olds can and should make a lot of decisinos for themselves. It's really important that they start exercising their judgment now and learning abuot making conscious decisions and the consequences of those decisions.
AT that age, DS would decide (given choices) what to wear, eat, do. Also, if we needed him to do something (ie, nappy change) before going somewhere, we explained this to him. It was his choice to do or not do,but if he didn't cooperate we couldn't go out or do whatever it was (consequences).