Wavelet Problem

I am new to wavelet, and found this thing interesting, and had been studying for couple of days.

I have few questions that i couldn't find any good answers to them :

1. From the materials i had read, they all saying that the multiresolutional levels are of 2^j, where j is the levels number. Is it necessary to construct a structure like this? i mean, why could not it be more level to get more precise resolutions in analysis? what is the principle underlying the theorem saying it has to be 2^j ?

2. Again regarding the question above, it implicitly indicates that the sample must be of M-by-M matrices (for 2D image case for example OR a voice signals with N times interval where N = M x M ), in order to get the level to serve as a base for power of TWO, where N = M x M, and N must be of multiple of 2. Is there any essence of this ? what if my input signals are not a multiple of 2 ? let's say for image with a dimension of 533 * 311 ?

3. For the wavelet bases functions, how did one comes out with such bases functions? what i am referring is the inspiration and idea behind these bases functions, i have seen couple of bases functions using cosine-sine to serve as orthogonal bases, so is there any other than this? can eigenvectors play a role in this wavelet theory? Or is there any other concrete orthogonal bases? what are the major difference between these bases?

A Big Big Thanks to whoever read and concern about my questions above.
Due to the lacking of information regarding this newly amazing topics,
hereby appreciate whoever is willing to lend a hand onto this cutting edge mathematical tools.