Have you got enough RAM to do what you want to do? Adding additional displays reserves more memory space for the display buffers. It is not a lot of additional RAM, but if you are borderline then it could cause problems.
If you are failing to start up then it could well be a lack of RAM. This is separate from the Flash memory that the program is stored in. How far does it get? Does it finish the setup()? P.begin() is where buffer memory is allocated.
Also, I noticed that you use
for(int z=0; z<2; z++){
if (P.displayAnimate()){ // animates and returns true when an animation is completed
P.displayReset();
}
P.displayZoneText(0, numbers[x], RIGHT, 0, 0, PRINT,NO_EFFECT);
}
}
when you want to display text for zones 0 and 1. The for loop does both zones (z=0, z=1 in the loop), If you are just displaying (PRINT) data when you need to, with no animations, then just display the data as required using the displayZoneText() method. No need for anything else as far as I can see.