Registers are defined in EVT/EXAM/SRC/Peripheral/inc/ch32v00x.h (wherever that may live, I don't know). They're not defined in quite exactly the way you want, but instead using structs - so your example would be
GPIOD->OUTDR. Also see EVT/EXAM/SRC/Core/core_riscv.h for register definitions for the PFIC/NVIC and SysTick (but ch32v00x.h includes it).
However, there is a caveat: ch32v00x.h is not 100% complete in terms of covering every single peripheral and their registers, and also has some errors. The problem I think is that the HAL code doesn't seem to make much use of this header file itself, but instead seems to prefer locally defining registers and masks, etc. within the code handling each peripheral, so they haven't noticed these problems.
I went my own way and made my own amalgamation of core_riscv.h and ch32v00x.h for standalone use, and also corrected any errors I've noticed and added stuff that was missing (e.g. vendor info and ESIG registers).
If you want to go even more standalone, you'll need to make a modification to their startup assembly code (startup_ch32v00x.S) to omit the jump to
SystemInit() in the system_ch32v00x.c of a typical HAL project. Their linker script can be used as-is. Mainline GCC can be used (I recommend
xPack distribution for Windows) if you forego use of 'fast' interrupts. All the compiler/linker options can probably be figured out from what the IDE calls them with; I figured those out from what random people on GitHub were doing in their makefiles - I've never touched the MounRiver IDE.