32bit PC processors have a 3.25GB RAM limit without a technique called some line like POE,
A 32-bit processor normally (always?) also has a 32-bit address bus. 2^32 is about 4.29gig so that's the limit of addressing unless you want to get into bank switching or MMUs. On a PC I think the 3.25 limit is for other reasons, maybe a gig is used by the OS or something.
As for POE, AFAIK that's Power Over Ethernet.
In the term "N-bit processor" the N refers to the data bus, the address bus it a different thing. There is no reason that an 8-bit processor can't have a 32-bit address bus, conversely a 32-bit processor could have a smaller address bus. You will notice that many chips like the Mega1284 and 2560 actually address 128 or 256k of flash, that means their address bus is 17 or 18 bits. Yet they are called an 8-bit processor because the data bus is 8 bits.
Some 16-bit processors like the 68000 had 24-bit address busses. So there is no real connection between the size if the address and data busses.
So, i've always thought a byte is 8 bits - but, on a 16bit MCU - would that make a byte 16 bits?
A byte is 8 bits end of story (OK it was 9 bits on some mainframes but let's not worry about that) regardless of the processor. The difference is that a 16-bit CPU can work on two of them at once, and a 32-bitter can work on 4. In fact having a 32-bit processor work with single bytes can slow your program down.
On the ARM IIRC a 16-bit entity is called a half-word and 32 bits a word, but when programming it's best not to use such terms because they mean different things to different processors and people. EG a "word" on an AVR would probably be considered to be 16 bits, on an ARM it's 32 bits.
And just to confuse things the term "int" normally refers to the native data element of a processor (ie the width of the data bus) which on a 32-bitter is 32 bits, however all 8-bit processors have int sizes of 16 bits, go figure. I guess the powers that be decided an 8-bit int was not much use.
Another reason 32-bitters are faster is really just technology, they tend to be newer designs and as such have better goodies like instruction pipelining, PLLs to multiply clocks etc.
Also, any input regarding array sizes and maximums?
Only limited by the addressing capability of the processor.
I think Mike is correct, the C compiler will get around any native limitations of the processor. I've not tried it though.