How do you determine the remaining days? Do you have an unstored calculation field that computes days that remain or do you just have a date field?
Either way, a script can find all records with 10 or fewer days remaining, but the criteria used in the find might be different.
If you want to find all records with a date field that is 10 or fewer days in the future, a script similar to this can find them:
Enter Find Mode 
Set Field [YourTable::YourDateField ; Get ( CurrentDate ) & "..." & Get ( Currentdate ) + 10 ]
Set Error capture [on]
If [ Get ( FoundCount ) > 0 //there are records found with 10 or fewer days remaining]
# put steps here to send out your email. It can loop through the records found to send each an email.