How can I do a refresh of my dev sandbox using ANT so that it is a complete wipe clean and replaced with the source code (and metadata) checked out from SFDC_REPO?
Would it be a "destructive" deploy ANT task & how would I generate the package.xml file for such a complete wipe & replace of the the dev sandbox ?
You can't. Destroying anything is hard enough, trying to wipe an entire org could take hundreds or thousands of tries to get it right. Once. You'd be stuck each and every time trying to resolve dependencies to the point where refreshing daily would be less painful.
If I did this refresh using Force IDE | Save to Server - would it achieve the same effect as the destructive deploy ANT task above ? Would Force IDE deploy only the components that have been changed when in performs Save to Server ?
Yes, the Force.com IDE can calculate deltas and try to deploy changes. However, it's not particularly efficient in doing so, and you still risk getting a lot of errors. It'd be better to do small, incremental changes, and you'd still have to hope for the best. There's a nice GUI, so it's better than doing it by hand (above), but not a practical solution.
There are two possible alternatives.
Using the SandboxProcess object, you can create a new Sandbox using the API. This is the identical behavior of using the UI, but without the UI. However, this leaves you with the problem from above, refreshing the org using git-managed metadata. It's still basically a problem.
So, of course, the actual answer is to use Salesforce DX. Salesforce DX allows you to spin up a brand-new, completely empty org, then push all of your metadata from a git branch directly into that org, and then track changes that are made in that org so you can pull them back to git.
Currently, there's challenges for very large orgs (those with more than a few thousand customizations) or orgs that use special features (not all features can be managed in source), but if you're a pretty vanilla org, DX is the way to go. You may as well at least start learning about Salesforce DX, because it is likely you'll want to use this feature in the future.
For example, in our org, it usually takes about 2 hours for a refresh, but using DX (minus the features we can't enable yet), we can go from nothing to a fully fleshed out replica of any branch we have in about 10-15 minutes, which includes installing a dozen AppExchange apps and some odd 9,800 artifacts and thousands of records of data. While it's not perfect for our use yet, we've seen the potential, and we're looking forward to the day we can use it effectively.