Both of them are grammatically correct, but they mean different things. You can certainly use for with the simple past: it just means "over this span of time", and its use doesn't force any particular tense. Since is different, because it means "between the named time and now".
The difference is simply the one between the simple past and the present perfect:
He gave it up for 700 days
means that at some point in the past, he stopped doing it for 700 days, but the action is now over and completed.
He has given it up for 700 days
means that as of right now, he has not done it for the last 700 days, and still isn't doing it.
- Present Perfect and Past Simple
- How To Teach Past Simple VS Present Perfect