Все зависит от того, что вы подразумеваете под словом "выделить", выделить от кого кому? Операционная система приложению выделяет память постранично. На уровне приложения для управления памятью как правило организуется динамическая память в виде
кучи. Соответственно, память для кучи выделяется постранично, а из кучи - любого размера. Memory pool может быть организован и поверх кучи, например если вы создаете хэш-таблицу, можно взять память постранично от ОС (VirtualAlloc / mmap), а можно - из кучи (new, malloc, HeapAlloc, etc).
P.S. Размер страницы может быть разный, но фиксированный. Сейчас многие системы поддерживают huge page'ы, где одна страница может занимать достаточно большой кусок памяти, например 2MB или 1GB. Но пользоваться этим надо с большой осторожностью, т.к. пейджинация на таких страницах - очень медленная операция.
P.P.S. В качестве альтернативы memory pool можно использовать организацию кучи на bitmap'ах с фиксированными размерами чанков, фактически это примерно то же самое.