For the icons stored in the web only "http" protocol is supported, but additionally the <href> tag can contain a path for a file stored inside the kmz file. For example, if the kmz file contains the kml file at the top level, and the icon image "dot.png" (can be png, jpg, or gif) is stored subdirectory "icons" in the kml file, the <href> tag should contain string "icons/dot.png" (without quotes of course). If the icon is stored in the same directory as the kml file, the image file name should be used without any path.
BTW, I didn't actually try this, I just quickly scanned the source code, and tried to remember how these things work. It has been literally years since I last worked on the placemark support code. I hope this helps.