PD>Именно с DLL и проще всего. См. #pragma dataseg. Если использовать именованную разделяемую секцию, то она будет одной и той же для всех проекций этой DLL во все процессы.
dll тоже может по разным адресам грузиться. И решение на шаред секция в PE файле — потенциальная секурити дырка и источник возможных неожиданных проблем при одновременном запуске проги в разных сессиях.
Как много веселых ребят, и все делают велосипед...