I must admit, that I'm using Verilog only occasionally, when porting IP or on customer request. So I'm not that familiar with the advanced "tricks" tas I'm regarding VHDL. I found however in the lanuguage specification, that there's a construct called indexed part-select, that also allows variable selects. See the examples from IEEE 1364-2005: