I like the idea for ignore (color/obs) and spec (obs) -- especially if it's like the current ignore (all) command that allows you to unignore individual players without removing the effect of ignore (all) on everyone else. The only issue I see is when people switch teams -- you could reissue the ignore (color/obs) command at the end of every round, but that'd open a can of worms for people you manually unignored and for people that switched teams mid-round.
Also, I'd like the ability to specinvite/ignore based on both playerid and clanid. Something along the lines of:
pid_specinvite <playerid#>
pid_ignore <playerid#>
cid_specinvite <clanid#>
cid_ignore <clanid#>
I'd see this as very useful for matches where players join late or have to reconnect, or even where frequent substitutions occur. Ideally, the "players" command would need to be edited to display clanids as well as playerids, but it would not be an absolute requirement since you can just get the clanids off of the dplogin page manually if needed.
As an aside, I'd also like some way to view the current list of people I have specinvited or ignored.