Opzione 1: esegui uno script come questo ogni minuto circa con cron o launchd:
#!/bin/bash
cd=~/Library/Caches/me.lri.scripts
mkdir -p $cd
cf=$cd/ichatstatuscheck
status=$(osascript -e "tell app \"iChat\" to status")
[[ -f $cf && "$status" != $(cat $cf) ]] && say "$status"
echo "$status" > $cf
(Lo script attiva iChat ogni volta che viene eseguito.)
Opzione 2: salva questa come applicazione aperta in AppleScript Editor:
repeat
tell application "iChat"
set prev to status
delay 5
if status is not prev then do shell script "say " & quoted form of status
end tell
end repeat
(Attiva anche iChat ogni volta che ottiene lo stato.)
Opzione 3: usa un gestore di eventi iChat (grazie Kopischke)
Questo ha funzionato per me su Lion, ma solo quando iChat era attivo. (Non quando non lo era e ho cambiato lo stato dall'elemento della barra di stato di iChat - che immagino fosse il vero problema che l'OP aveva.)