I needed to do this for a store that ships a lot of things, but wanted free shipping on gift certificates.
I set up a shopping cart rule under the promotions in the admin that goes like this:
Rule info: Filled in name of rule, set status to ‘active’ and left everything else blank.
Conditions: did nothing (experiments with doing something here did not yield the results I wanted)
Actions: did nothing EXCEPT: set Free shipping to ‘for matching items only’ AND
For ‘Apply the rule only to cart items matching the following conditions (leave blank for all items)’ set: If ALL of these conditions are TRUE : Category is 14, 22
This works to apply free shipping only to items from those categories HOWEVER,
When someone enters a zip code and asks for a quote in the Estimate Shipping and Tax component of the cart, it gives them an option to get free shipping on the entire order!! So, this seems to work, but not completely.
Hope this helps a little and maybe someone will post a way to improve the way I’ve set up this cart rule.