Si entiendo bien lo que necesitas, es una cola doble que en cada nodo hay un puntero a una pila o un arreglo si el tamaño es definido, te recomiendo que las pilas tengan un tamaño maximo definido por ejemplo 100. Tu nodo de la cola seria de esta forma.
typedef struct NODO{
NODO *prev;
NODO *next;
int Stack[100];
int numItemsOnStack;
}nodo;
Cada vez que uses un nodo nuevo tienes que inicializar numItemsOnStack a -1 que quiere decir que no tienes nada en la pila, cada vez que pongas algo en la pila haces ++numItemsOnStack y cunado quites de la pila --numItemsOnStack. Fijate que numItemsOnStack+1 es el numero de elementos en tu pila.
por ejemplo para insertar en la pila:
nodo myNodo;
myNodo.numItemOnStack=-1;
//insert 3 items
myNodo.Stack[++numItemOnstack]=10;
myNodo.Stack[++numItemOnstack]=11;
myNodo.Stack[++numItemOnstack]=12;
Esto solo es un ejemplo, tu tendras que definir las funciones para tus pilas Pop, Push etc...
De igual modo tendras que definir funciones para tu cola Prev, Next Delete, Insert etc..
Suerte.