Hi Edwin,
1. How do you wake up a KL16 from VLPS (Very Low Power Stop) mode using UART0?
You just need to know, the VLPS recovery method, you can find it from the reference manual:

It is the interrupt, so if you want to use the UART0 to wake up it, you just need to enable the UART0 interrupt, then when the UART0 happens, the MCU will be waked up.
2.Can I clock it using the LPO since it is the only clock available and still ON during VLPS mode?
You need to check, whether the LPO can be the UART0 clock source:

You can find no LPO can be selected.
But don't worry, you can use the MCGIRCLK, this clock also works in VLPS mode.
3. Some sample code for you
Actually, in our KL25 sample code, there has a UART0 DMA STOP wake up code, you can refer to it.
Please download the code from this link:
https://www.nxp.com/downloads/en/lab-test-software/KL25_SC.exe
The code folder:
kl25_sc_rev10\klxx-sc-baremetal\build\keil\low_power_dma_uart_demo
Wish it helps you!
If you still have question about it, please kindly let me know.
Have a great day,
Kerry
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------