Can additional predicates "eliminate" nonstandard models of true arithmetic?
Here's an improvement on (1), with just a single predicate $S,$ but as @ElliotGlazer pointed out, it's not a solution to (2), since there isn't a single sentence $\varphi$ that eliminates some nonstandard model.
I'll leave it here, since it's too long for a comment anyway.
Take $S$ to be Kleene's $\mathcal{O},$ a complete $\Pi^1_1$ set of integers. If $\langle M; +, \cdot; S\rangle$ is any countable model of the theory of $\langle \omega; +, \cdot; \mathcal{O}\rangle,$ then $\langle M; +, \cdot\rangle$ can't be coded by a hyperarithmetic set. Here's why: Let $k$ be an infinite integer in $M.$ We can find a nonstandard integer $o$ in $M$ that codes the first $k$ elements of $S.$ It follows that $\mathcal{O}$ is Turing-reducible to any set of integers which codes $\langle M; +, \cdot\rangle$ (since a question of the form $"\!\!x\in\mathcal{O}"$ where $x\in\omega$ can be answered by asking arithmetic questions about $o$ in $\langle M; +, \cdot\rangle$).
But there are hyperarithmetic nonstandard models of true arithmetic; these are eliminated by passing from $\text{Th}\langle \omega; +, \cdot\rangle$ to $\text{Th}\langle \omega; +, \cdot; \mathcal{O}\rangle.$
For (2) now, here's a modification of the hyperarithmetic set approach, motivated by the almost-disjoint set argument:
There exists a recursive tree $T$ which has infinite branches but no hyperarithmetic infinite branches. (I think this is due to Kleene. Here's a reference: it's Corollary XLI(b) in Chapter 16, in Theory of Recursive Functions and Effective Computability, by Hartley Rogers, Jr.)
There is a sentence $\varphi$ (in the language of arithmetic expanded by an extra one-place relation symbol) such that $S$ is an infinite branch through $T$ iff $\langle \omega; +, \cdot; S\rangle \models \varphi.$
But no model $\langle M; +, \cdot; S\rangle$ which satisfies both $\varphi$ and true arithmetic can have $\langle M; +, \cdot\rangle$ be hyperarithmetic. That's because $S,$ restricted to standard integers, must be a standard branch through $T$ (since $T$ is recursive, any standard integer belongs to $T$ iff $M$ thinks it belongs to $T$). As in the argument with $\mathcal{O},$ let $k$ be an infinite integer in $M,$ and let $o \in M$ code the first $k$ many elements of $S.$ Then questions of the form $"\!\!x\in S\!"$ with $x\in\omega$ can be decided by asking arithmetic questions about $o$ in $\langle M; +, \cdot\rangle.$ Since $S$ isn't hyperarithmetic, $\langle M; +, \cdot\rangle$ can't be hyperarithmetic.
So, although there are hyperarithmetic nonstandard models of true arithmetic, none of them can (when augmented with an extra one-place relation) be models of $\varphi.$
Added: The connection with the almost-disjoint set argument is that the collection of branches through a tree is a family of almost disjoint sets.