Lines pool question

Hi all!
I’m setting up an asterisk server that will be conected to the PSTN via E1, using a zaptel board. In a E1 I have 30 lines. I know I can arrange this lines in groups
and distribute to my costumers a fixed number of channels. But what I want to do is a little diferent:

I want to setup a line pool where all 30 channles will be available to anyone, but each customer will have a fixed number of simultaeus lines. Ex: a client will have 3 lines but can use any of the 30 channels.

Another problem I can see in this is how to setup the caller ID. As far as I know, this is setup in a per channel basis, but not sure! Is that true?

any hints??

Carlos Barros