PIC32 does not have Memory Managment Unit, why would a high end microcontroller not have such a peripheral
First, the PIC32 doesn't run Linux. A cursory Google search shows a lack of working full-fledged Linux distributions or kernel builds for the PIC32 (for reasons such as insufficient RAM, lack of interest)

Second, while it may be a high-end offering, it is still a microcontroller, whose purpose is somewhat different from a general-purpose processor. It only carries up to 32 KB of physical RAM, which is definitely not enough.

However, a reading of the PIC32MX family datasheet shows that the PIC32 family contains a "fixed mapping translation" unit for virtual memory. This MMU-like feature does implement memory-mapping resources such as flash, as well as kernel/user segmentation.

Edit: I can't answer why Microchip doesn't get involved with Linux/Android, as I don't work for Microchip. I can only say that, based on the specifications of the specific microcontroller that you mention, it may be high-end for a microcontroller/microprocessor, but is not sufficient for a Linux-based system, let alone one running a Java VM, with a JIT (won't happen due to memory, and because JIT on a Harvard architecture is a questionable premise). A microcontroller is designed to act in a simple embedded application in a low-latency and highly reliable manner, and running Linux or Android is not necessarily conducive to doing things cheaply, and in a reliable and realtime manner.