I'd like to have the favicon of my site alternate between one of three or four options. For example, someone visits my site and they get a smiley face favicon. The next visitor to my site gets a frowny face favicon. Any thoughts?

I'm not entirely sure this is feasible given how favicons are referenced. If the server could somehow handle this, you could have some opportunity to manipulate which favicon it serves, but it would also need to send appropriate header stuff to not allow the browser to cache. Additionally, whenever the user bookmarks that page, it'll use whatever the favicon was at the time (or maybe even none at all depending on header cache definitions - not sure).

In any case, it seems like a long shot, and not especially beneficial in general; in my opinion anyways.

It can be done with any server side language
but there isnt any point
the favicon is supposed to identify the site, really messes up the purpose if you change it, because returning visitors will also get a different favicon

left out the important part,

...

any image rotator script could be modified to rotate between several versions of favicon.ico