If lame nor ogg useflags are set but icecast use is, icecast dependency will get pulled in needlessly. In the same manner if icecast useflag is unset but lame useflag is set the lame dependency will needlessly be pulled in. The way this is fixed in the mpd-9999 ebuild on the mpd overlay is to do something like this: icecast? ( lame? ( media-sound/lame ) ) lame? ( icecast? ( media-libs/libshout ) ) ogg? ( media-libs/libogg icecast? ( media-libs/libshout ) ) Icecast may show as a dependency more then once but I don't think that hurts anything.
Small obvious correction would be remove the ogg below and put this: vorbis? ( media-libs/libvorbis icecast? ( media-libs/libshout) )
thanks, fixed