I got the system:
$$
P_2(s) = \frac{s+12}{s(s-3)}
$$
Sketching the root locus plot of this system I see that I can stabilize it with
$$ k > 3.1 $$

Now, I want the closed loop system's response to have a steady state error of 5% with a ramp signal as an input.
I used (Which I'm guessing I did wrong) $$ ess = 0.05 = \frac{1}{K_v} \quad K_v = 20 = \lim_{s \Rightarrow 0 } s\cdot k \cdot \frac{s+12}{s(s-3)} $$
Which yields $ k = -5 $ But I need $ k > 3.1 $ for the system to be stable. Should I take k=5 ? If so, then why Can I justify taking the absolute value ? It's been a while since I've done these calculations so help would be appreciated!
Given a reference signal $R(s)$ and the reference to error transfer function $G(s)$ then the error signal is,
$$E(s) = G(s)\,R(s)$$
The steady-state error is the final value of this signal which can be found using final value theorem as you did already. The right hand side of your last equation computes
$$\lim_{t\to\infty} e(t).$$
The mistake is that the first equation should be asking that,
$$\|e_{ss}\| \leq 0.05$$
since you can of course have negative steady-state error just as much as you can have positive steady-state error. You want to have the steady-state error be bounded above and below by $0.05$. If you propagate that absolute value, you should have a bound on $\|k\|$ which then yields the desired result.