To answer your question about doing case-insensitive search, it is not possible to do so with Windows Azure Table Storage.
One way is the one you suggested i.e. doing data grooming and store all in either lower or upper case.
Other approach would be to download the data on the client side and then doing case sensitive search on the data which is fetched on the client. 2nd approach may be feasible for smaller data sets but would not be practical if the data set is much bigger.