SELECT `id`, `date`, `status` FROM `table`
WHERE
uid IN (1,2,3,4,5) AND reg=1 AND date_last < NOW() - INTERVAL 1 DAY
OR
uid IN (1,2,3,4,5) AND reg=2 AND date_last < NOW() - INTERVAL 2 DAY
OR
uid IN (1,2,3,4,5) AND reg=3 AND date_last < NOW() - INTERVAL 3 DAY
WHERE
uid IN (1,2,3,4,5) AND reg IN (1,2,3) AND date_last < SUBDATE(CURRENT_DATE, reg)
uid IN (1,2,3,4,5) AND (
(reg=1 AND date_last < NOW() - INTERVAL 1 DAY)
OR
(reg=2 AND date_last < NOW() - INTERVAL 2 DAY)
OR
(reg=3 AND date_last < NOW() - INTERVAL 3 DAY)
)
SELECT `id`, `date`, `status` FROM `table`
WHERE uid IN (1,2,3,4,5) AND (
(reg=1 AND date_last < NOW() - INTERVAL 1 DAY) OR (reg=2 AND date_last < NOW() - INTERVAL 2 DAY)
OR (reg=3 AND date_last < NOW() - INTERVAL 3 DAY))
SELECT `id`, `date`, `status` FROM `table` WHERE uid IN (1,2,3,4,5) AND date_last < NOW() - INTERVAL reg DAY