Virtual DJ for a Wedding
Since it's a wedding, the only recommendation I can make is to hire a professional DJ that can work the crowd. Predefined playlists might be fine for ambience music during dinner etc, but they'll never get the real party started. You need some interaction with the crowd if you ever want to get them on that dance floor. Also don't assume timing of a wedding party goes exactly as planned when you think of automatically announcing speakers etc, it just doesn't work out that way.

There is quite some DJing software available however. A popular choice is djay (also available for iPad). But a good set-up goes further than that. You can have a look at this page for a more extensive guide on DJing on the Mac.

But again, please go for an experienced DJ. It's worth it. I'm sure he has his own set-up, wether it be digital or analogue.