Going by what i've read, longer runners means the intake is tuned for a lower rpm while shorter is for higher. ITB's vertually have no runners so i'm assuming they do not utalize these pulses - there just going for max flow. Also, the stock intake has pritty long runners. Do you know what rpm range BMW was tuning the intake for.
Runner lenght with ITB's depend on how you design them and they definitely use pulse tuning

ITB's are only one component on intake path and they have fixed lenght, you cannot change it easily. But you can tune the total intake path by choosing suitable lenght intake trumpets (or velocity stacks).
Here's what I did:

I shortened stock S50B30 intake trumpet from 20 cm -> 12 cm. This moved tuned frequency up by 1000 RPM.
They should work well to over 8000 rpm but at the cost of power in 3000 - 5000 rpm range. The loss can easily be 15-20% compared to longer intake system...
One idea could be variable lenght intake. With short intake trumpets the intake paths is about 35 cm but if you put unmodified intake trumpets before shortened ones, the total lenght of intake path is 55 cm. That will tune the intake to work well in mid rpm area. Then just tell ECU to send signal to solenoid to move the longer intake trumpets away from intake path when revs rise beyond 5000 rpm so engine can breath through short runners
