Hi Helena,
I would suggest you change your 0s into NAs before drawing and then use the missingCountryCol option of mapCountryData(), or alternatively you can use the colourPalette option to play with the colour you want for the countries with data 0.
And then to hide some levels in the legend, you can use the options coulourVector and cutVector of the addMapLegend() function to tweak the legend to your needs of not displaying the colour for value 0.
Please post code snippet if you're still unsuccessful on this.
Regards,
JB