Smith is an exile.
Richard's answer is correct, but I'd like to make some additional points.
Recall the Oracle's explanation of how programs become exiles:
The Oracle: They have their reasons, but usually a program chooses exile when it faces deletion.
Neo: And why would a program be deleted?
The Oracle: Maybe it breaks down. Maybe a better program is created to replace it - happens all the time, and when it does, a program can either choose to hide here, or return to The Source.
The Matrix Reloaded
Agent Smith almost literally "broke down" when his shell was broken apart by Neo at the end of The Matrix. Also, he was arguably replaced by the upgraded Agents Johnson, Thompson, and Jackson. So he definitely fits the criteria of a program that is forced to choose between hiding "here" (in the Matrix) or returning to the Source.
A few minutes later Smith explains what happened from his perspective:
You destroyed me, Mister Anderson. Afterward, I knew the rules, I understood what I was supposed to do but I didn't. I couldn't. I was compelled to stay, compelled to disobey. And now here I stand because of you, Mister Anderson, because of you I'm no longer an agent of the system, because of you I've changed - I'm unplugged - a new man, so to speak, like you, apparently free.
It's clear that Smith was faced with a choice just like the one the Oracle described, and he says that he stands "here" -- i.e. in the Matrix, just like the Oracle said of an exile (they even use the same word). Smith also explicitly says he's no longer an agent of the system. If Smith is no longer an Agent, that can mean only one of two things: he's been flagged for deletion, or as you suggest, he's been re-purposed by the Machines. He can't be re-purposed, though, because the Machines lost control of Smith and made a deal with Neo to stop him:
Neo: The program Smith has grown beyond your control. Soon he will spread through this city, as he spread through the Matrix. You cannot stop him. But I can.
Deus Ex Machina: We don't need you!
Neo: If that's true, then I've made a mistake, and you should kill me now.
Deus Ex Machina: What do you want?
The Matrix Revolutions
Since Smith hasn't been re-purposed by the Machines, by process of elimination he has been flagged for deletion. Considering the Machines were willing to grant peace to Zion in exchange for Neo destroying Smith, it's obvious that the Machines were trying to delete him. To quote the Oracle:
...it's tough to get any more obvious than that.
The Matrix Reloaded
[That quote from the Oracle might come across a bit condescending, but that's not my intention -- it's just too perfect and relevant of a quote, and I can't resist omitting it. :)]
Addressing your specific objections:
Another important evidence is that Smith said to Sati:
You must be the last exile.
You may take it to mean Sati is the last exile for Smith to take over
or she is the last exile which returns to the Matrix.
Smith almost certainly means that Sati is the last remaining exile in the Matrix because by that point Smith had assimilated almost everyone in the Matrix (and was about to assimilate the Oracle). A single quote with a perfectly reasonable alternate explanation is not enough to overturn the evidence that Smith is an exile.
You also mentioned an objection about the color of Smith's code:
During his take-over of the Oracle, we could see his code is no different from other normal programs. They didn't appear to be flagged for deletion.
We only see two colors of code in the films: green and gold. The vast majority of programs in the Matrix have green code, whereas gold code is generally seen for the Machines in the real world. The only exception is Seraph, but this has nothing to do with his exile status. Seraph was an exile, but lost his exile status when he was hired by the Oracle to protect her. Since the Oracle is "that which matters most", Seraph has a very important purpose and is not going to be deleted. Incidentally, Smith's comment that Sati was the last exile is the best proof that Seraph is not an exile since Seraph was standing right next to Sati when Smith said it. The fact that Smith's code is green tells us nothing about his exile status.