If so, is it possible to bind that datasource to the layer so that it produces the appropriate number of pushpins based on values in the datasource?
If you just want to split the layer to manage your pushpins in an easier way, you can add some entities to your map like following:
pinLayer = new Microsoft.Maps.EntityCollection({ zIndex: 13 });
map.entities.push(pinLayer);
Follow this Link to get more explanation about layers on Bing Maps