Its fine to create a 13x13 sprite field using individual sprites as they will share texture(s).
You just need to only create them once (init or some other setup code).
It does not look like you need an array of CCSprite.
And it looks like you are only adding one of the sprites in each loop.
Why do you need to create both and then only add 1 to the batch node?
You should just be able to do this in your for loop:-
if (maze[xxx][yyy] == WALL) //I'm not sure what you are doing here as I don't know what WALL and maze is
CCSprite* wall = CCSprite::createWithTexture(batchNode->getTexture(), CCRectMake(1*32, 0*32, 32,32));
CCSprite* way = CCSprite::createWithTexture(batchNode->getTexture(), CCRectMake(9*32, 9*32, 32,32));
What do you need to update in the update method?
If you want to move all the sprites like a scrolling effect then you might be better off just moving the layer around.#