With care, and some knowledge of your target FPGA, this will be implemented as a memory block instead of combinational logic.
A typical restriction is that the assignment
prbs_reg_feed <= prbs_reg_ip(byte_indx);
has to be placed in a clocked process, as the memory blocks are typically synchronous.
The only way to be sure is to take a few minutes and try synthesising this block on its own, and read the synthesis report. And if it doesn't work first try, read the documentation and experiment further.
Some examples here for RAM. ROM can be the same, but without any way to write it, and perhaps declaring prbs_reg_ip as a constant instead of a signal, for example
constant prbs_reg_ip : reg_type := ( 0 => X"C3", 1 => "80", 2 => "FF", ...);
For some FPGAs or FPGA tools, you may need to add an attribute to the signal (or type) representing the memory, for example
signal prbs_reg_ip : reg_type;
attribute ram_style : string;
attribute ram_style of prbs_reg_ip : signal is "block"; -- or "distributed"
See this Xilinx answer for an example of this.