You can handle this all with one cart. If the items do not have a weight then they will not be included in the shipping quote. If you have only these items with no weight in the cart you will need to have it skip the shipping.
To do this you just need to add in some code above the trigger on the shipping quote server behavior to make sure that will not be triggered if there is no weight in the cart. If you post back with the page that has the server behavior on it I can show you what needs to be done for this.