Hi Mark,
Let me try taking a stab at answering this question.
First MQX has many BSP's but too difficult to support each Kinetis device (i.e. too expensive to have a hardware platform for each device). Of the many BSP's we try to support the "super set" devices and then have customer either port that super set device to their choosening or just use the super set device and realize that some of the peripherals are not present for their product.
For your specific case the K20 is a super set device. The K10 is just lacking the USB interface and features. If you port the TWR-K20D50M BSP using the document you pointed out (here it is for others: C:\Freescale\Freescale MQX 3.8\doc\FSL_MQX_porting_guide.pdf) this should provide a good start for changing the device.
From my research (so not tested as fyi) the device is specified in the user_config.h header.
Ex: #define MQX_CPU PSP_CPU_MK20D50M
The "PSP_CPU_MK20D50M" is used in the PSP "kinetis.h" header to find the correct device header that defines the peripherals and proper mapping to the pins ultimately.
Ex: #elif (MQX_CPU == PSP_CPU_MK20D50M)
#include "MK20D5.h"
The MK20D5.h header is in the same directory as the kinetis.h ( C:\Freescale\Freescale MQX 3.8\mqx\source\psp\cortex )
Now this folder/directory contains the headers of the supported MQX devices. With MQX3.8.1 we have been using the header files generated from Processor Expert (PE) for the devices.
If you have CW10.2 or PExDrv v10.0 installed, then you can find the cache of all the supported devices.
Ex: C:\Freescale\CW MCU v10.2\MCU\ProcessorExpert\lib\Kinetis\iofiles
Ex: C:\Freescale\PExDrv v10.0\eclipse\ProcessorExpert\lib\Kinetis\iofiles
From either of these folders you can then select (copy it to the ~mqx\source\psp\cortex path)) the MK10D5.h and have it included in your updated BSP/PSP by updating your "kinetis.h" to have a #elif for your PSP_CPU_<custom_MK10D5>.
Hopefully this will help. If not yell back and we'll amend this post.
Regards,
David