Why is wavelength of violet colour less than wavelength of blue colour?
Color is a double valued concept, different in physics and in perception.
In Physics there is a one to one correspondence between color seen in the visible spectrum and the frequency of light.
The whole electromagnetic spectrum covers many frequencies above and below the visible, which are the colors seen in rainbows.
The second value/definition of color comes from biology the way it is perceived by the brain as mixtures of frequencies.
Electromagnetic spectrum with visible light highlighted
So according to my logic, it should lie between red and blue in the spectrum. But it doesn't, its wavelength is less than wavelength of blue.
How is this possible?
Because the mixture of frequencies to be perceived as a given color by the brain is seen in the chart. The brain sees the single frequency colors as shown in the first figure, but when frequencies are added new colors and hews are seen.
As the chart is not a simple function it happens that violet does no follow the simplified rule you expect. There is an article in Wikipedia on color vision.
I'd like to challenge your idea that the fact that a mix of red and blue gives something resembling violet implies that violet must be between red and blue.
In practice, what you get from such mixture is a shade of purple. See the figure below. Here the black dashed line from blue to red covers the colors you can get by changing the amount of red and blue in the mixture. The purest violet is on the bottom-most part of the border of the colored shape (the visible gamut).
On the other hand, if you mix violet and sky blue, you can get the set of colors covered by the green dotted line in the diagram. See that blue is among the colors you can get from this mixture.
Do these two facts conflict? No. Most colors are not spectral: they are desaturated. Together they fill a two-dimensional shape, on which the internal points can be found as mixtures of pairs of spectral colors. And the pairs are not unique: e.g. you can get white by mixing orange and sky-blue, or by mixing yellow and royal-blue, etc.. So what you call violet is not a point in this gamut—rather it is an area, where you can pick any point and still call it violet.