1. Yes. Which HDL are you using? There are coding guidelines in the quartus handbook - Volume 1 Section III chapter 10. But declaring a constant array is a simple way of doing it. You can even use a complex function to initialise the array.
2. If you use the megawizard, you can specify a .mif file. If you declare an array/constant like above, I think you can use attributes to specify the array to read. Annoyingly, Quartus only allows you to read .txt files in Verilog (I have asked for support in VHDL, but they havent been forthcoming yet).