assign values to all columns in 2D array in one statement
mem[4][15:0] = 16'h0002000000000000; and $strobe("%b", icon); need to be in an assign statement, initial block, or always block.

mem is also delcared incorrectly if you want to assign as mem[4][15:0]. it should be declared as double packed, single unpacked multi-dimensional arrays: reg  [15:0][1:0] mem [15:0];

The following compiles and runs without errors:

module test2;
    reg  [15:0][1:0] mem [15:0];
    wire [1:0] icon;
    assign icon = mem[4][4];

    initial begin
        mem[4][15:0] = 16'h0002000000000000;
        $strobe("%b", icon);
    end
endmodule;