Your argument for the first question is essentially right.
If $0 \lt \|x\| \lt 1$ then pick $\lambda = \frac{1}{\|x\|} \gt 1$ and observe that $\|\lambda x\| = 1$. But $|f(\lambda x)| = |\lambda| \,|f(x)| \geq |f(x)|$ with strict inequality if $|f(x)| \neq 0$. Thus, the supremum on the closed unit ball will be attained on the unit sphere.
An important detail:
It is not true that the supremum is a maximum(1) on the unit sphere unless $E$ is finite-dimensional (because then the unit sphere is compact) or, more generally, reflexive(2).
As Nate gave you a great hint that should lead you to the goal for the second question, I'll not discuss this part of your question further unless you ask me to.
(1) For a specific example where the norm of a functional is a supremum but not a maximum, one standard example is to take $E = C[0,1]$ (the space of continuous functions on $[0,1]$ with the supremum norm) and to consider the integral functional $$\varphi: h \mapsto \int_{0}^{1/2} h(t)\,dt - \int_{1/2}^1 h(t)\,dt.$$ It is not difficult to show that $\varphi$ is a functional of norm $1$, and that for every continuous function with supremum $\leq 1$ we have $|\varphi(h)| \lt 1$: Intuitively, this is because a function should be constant equal to $\pm 1$ on $[0,1/2]$ and $[1/2,1]$ (with opposite signs) to maximize $|\varphi(h)|$, however a continuous function will be forced to assume all values in $(-1,1)$ which will lead to the strict inequality $|\varphi(h)| \lt 1$. For details and some remarks on this, you can consult this detailed answer or this thread.
(2) It is possible to show (using some functional analytic machinery) that on reflexive spaces the supremum is indeed a maximum. It is a deep theorem due to James that the converse holds: a Banach space is reflexive if and only if every linear functional attains its maximum on the closed unit ball.