For any processor able to execute instructions from RAM you can dynamically load and execute modules (this means a good number of the processors MQX runs on). But since MQX was not designed with this capability in mind you do end up with dependency issues that are not easily resolved. If the module you are loading is simple enough you could do this - if the module is complex and makes calls outside of it's address space you would have integration problems.
There are a number of examples of bootloaders that do this exact thing - but despite the technical feasibility I don't believe the time would justify the results and would suggest finding another way to accomplish the task (or select an embedded linux variant)
The basic steps you would take to implement this is:
* Dynamically create a task with enough stack space to handle the application being loaded (I suggest reading the elf specification to help you with that)
* Have the task allocate a block of memory for the code you wish to load
* load the executable code into the ram block paying attention to alignment
* jump to the entry address (do this by prototyping the function pointer to the address and calling it - i.e. the same way main() gets called behind the scenes) - again the elf spec would help you out.
By this point you've already re-invented the wheel...