Sure you can. But there is no semicolon (';') before 'done' keyword in your script.
And, as I've mentioned before, you need to qualify the full path before the variable $f in mv command.
So, exact one-line command is:
for f in `ls -tr /projects/ilinterf/john/expect/backupdir/testtest/*.txt`;do mv /projects/ilinterf/john/expect/backupdir/testtest/$f /projects/ilinterf/john/expect/backupdir; done