In general, to test if a text field is blank, you can just say [Text Field] ="", and to test if a date field is blank, you can do: is null([Date Field]).
In your example, you would use the first way, but I am not sure why you are converting your dates to text? The following should work:
var text PayrollField = [Job - Related Sub Payroll22 - 2nd COAT (DAY 1) DATE];
If(
$PayrollField < Today(), "<img src=\"https://images.quickbase.com/si/24/221-point_red.png\" title=\"DONE\">",
isnull($PayrollField), "<img src=\"https://images.quickbase.com/si/24/223-point_yellow.png\" title=\"ALERT\">",
"<img src=\"https://images.quickbase.com/si/24/222-point_green.png\" title=\"TO DO\">"
)
------------------------------
Mike Tamoush
------------------------------