Can you suggest a good strategy for doing this?
A scheduled task is the regular way to do this. That way you can control how often it runs and what it does exactly. You can have the task call SQL if this is the best way for you.
I understand that this requires deleting files, so would this task be easier if we store the files in the database using the "SQL Storage Provider" found in "Storage Settings"?
No. The only solid way to (hard) delete files from DMX is to go through the API and call HardDelete. That will take care of the whole process.
Finally, if this would require some custom code, is there a process for contracting with you to create an extension that meets our needs?
Yes. Just write me an email. I'll forward you to one of our partners that is able to do this for you.
Peter