What is the difference between scalar array and vector array?
For your first question, search for the difference between packed and unpacked arrays. 

Your second question is a Verilog limitation with unpacked arrays - it only allows access to one array element at a time. SystemVerilog does not have this restriction. You can access an unpacked array as a whole, or select an entire dimension.