$f$ is convex on all of $\mathbb{R}$ so it's continuous. The idea will be the following: we know that the supremum is taken over a continuous function, so if we can restrict $q$ to a closed set, we'll be guaranteeing the supremum is achieved since a continuous function on a closed set achieves a min and max.
First, $f$ has a minimum at some $x_0$. To see this, notice that for all $|p|$ greater than some $\delta>0$, $f(p)/|p|>=1$.Using the fact that $f$ is convex gives $\inf_{q\in\mathbb{R}^n} f(q)=\inf_{q\in[-\delta,\delta]^n}f(q)$ which is an infimum over a closed set and is therefore achieved at some $x_0$.
If $p=0$, then the supremum is achieved at the minimum of $f$ at $q=x_0$, so fix $|p|>0$. Also, fix an $M>0$. By the limit property, there is some $\delta$ such that $f(q)/|q|>(1+M)|p|$ for all $|q|>\delta$. If we let $([-\delta,\delta]^n)^c$ refer to the complement of the box $[-\delta,\delta]^n$, then in particular,
$\sup_{q\in ([-\delta,\delta]^n)^c} [p\cdot q-f(q)]\leq\sup_{q\in ([-\delta,\delta]^n)^c} |q|[|p|-f(q)/|q|]<-M|p|$.
Notice that I can pick $\delta$ to make $M$ anything I want. Pick ANY $q_1$. That will give a value $C$ for $p\cdot q - f(q)$. By picking $\delta$ large enough, we get that $\sup_{q\in ([-\delta,\delta]^n)^c}[p\cdot q-f(q)]. So that implies that $\sup_{q\in \mathbb{R}^n}[p\cdot q-f(q)]=\sup_{q\in[-\delta,\delta]^n}[p\cdot q-f(q)]$. Since the latter supremum is over a closed set of a continuous function, it must be achieved at some $q_0\in[-\delta,\delta]^n$.