Это можно реализовать самостоятельно, используя VirtualQuery для поиска страниц, помеченных как свободные. Это было бы относительно медленно, хотя. (Вам также необходимо учитывать гранулярность выделения, которая отличается от размера страницы.)
Я скажу, что если вам не нужны смежные блоки памяти, пытаться держать все близко друг к другу в основном бессмысленно, поскольку, если две страницы виртуальной памяти могут находиться рядом в адресном пространстве, нет никаких оснований предполагать, что близко друг к другу в физической памяти. На самом деле, даже если они в какой-то момент времени находятся близко друг к другу, если эти страницы перемещаются в резервное хранилище и затем возвращаются обратно в память, страница не будет возвращаться к той же странице физического адреса.