2 tables and a cron job will do this nicely
Main table holds base data, work table hold the randomised data for use today, cron job reloads work table every 24 hours
additional index column recreated with new random order every 24 hours would do the same
both solutions would need to handle inserts in some way.