First you must enable the sku attribute to set promotions as follows:
1 - Access your Magento Control Panel
2 - Go to Catalog > Attributes > Manage Attribute
3 - Search the "sku" attribute and edit it
4 - Set the value for "Use for Promo Rule Conditions" to "yes"
Now you must set the free shipping option use when your product has set as free shipping:
For that go to System > Configuration > Shipping Methods and set the free shipping option for each method available when a product will have the free shipping rule applied.
Now we will create the free shipping rule that allow set specific products by your product code.
1 - Access your Magento Control Panel
2 - Go to Promotions > Shopping Cart Price Rules
3 - Click up "Add New Rule"
4 - Now complete the required fiels as follow below:
- Rule Name: Free Shipping for Specific Products (For example)
- Status: Active
- Websites: Main Website (mark all sites that you want)
- Customer Groups: Select all groups to apply the rule for all
- Coupon: No Coupon
5 - Go to Actions tab
6 - Set Free Shipping as For matching items only
7- At the box below "Apply the rule only to cart items matching the following conditions (leave blank for all items)"
8 - Change the option "If ALL" for "If ANY"
9 - Click up +
10 - Find and choose the "sku" attribute code
11 - Click up 3 points "..."
12 - Choose the properly code of the desired product (If you want set more products, insert one code per line)
13 - Save the rule
14 - Make a simulation into your frontend
PS.: To apply the rule for one or more categories, you just need apply the rule to the "category" attribute instead the "sku" attribute.
Also choose one category per line, including subcategories.