Each p-slot has two attributes by default
NumDynamicSlots
NumDynamicSlotsTime
The first is the number of dynamic slots under that p-slot. when that number is 0, then there are no claimed slots, which means the p-slot is idle. If that is the only p-slot on the Startd, then the whole Startd is idle.
NumDynamicSlotsTime is the unix timestamp of the time when NumDynamicSlots changed, so when NumDynamicSlots is 0, then that is the time when the Startd became idle.
So something like this
condor_status -const PartitionableSlot -af Machine 'IfThenElse(NumDynamicSlots, 0, (time() - NumDynamicSlotsTime))'
Will print the machine name followed by how many seconds it has been idle.
-tj