Coordinate-wise equality constraints are trivial. Just fix $x_i=c_i$ and skip that coordinate during the search. More complex equality constraints are likely not possible here. After all, it's unlikely that you will be able to hold all of the other coordinates fixed and maintain feasibility.
Coordinate-wise bounds are not difficult to deal with, either. When you are working with coordinate $i$, you simply have to respect those corresponding inequality constraints. So you can descend in an unconstrained fashion, but stop if the descent direction takes you outside of the interval $[l_i,u_i]$.
If, at a given iteration, you find that you cannot take a step in a descent direction without violating the constraint, then you don't: $x_i$ remains fixed, and you move to the next coordinate. So for instance, suppose $x_i\neq 0$; then the partial derivative is
$$\frac{\partial f}{\partial x_i} = x^TAe_i + b^Te_i + \lambda \mathop{\textrm{sign}}(x_i)$$
If $x_i=l_i$ and this quantitiy is positive, or if $x_i=u_i$ and this quantity is negative, then the value of $x_i$ will not change in this iteration. If $x_i=0$, of course, then you have a subgradient to deal with, but the point is the same.
More complex linear inequality constraints should be possible to handle as long as they define a polyhedron with a non-empty interior (so, e.g., there cannot be "opposing" inequalities creating an effective equality constraint.) Consider constraints $Fx\leq g$, and suppose that the current point $x$ is feasible (that is, $Fx\leq g$), and we're scheduled to move coordinate $i$. Then we seek $[t_\min,t_\max]$ as follows:
$$t_\min=\inf\{t~|~F(x+te_i)\leq g\}, \quad t_\max=\sup\{t~|~F(x+te_i)\leq g\}$$
This can be solved analytically; and because $Fx\leq g$, know that $t_\min\leq 0$ and $t_\max\geq 0$. Then we can define
$$l_i = x_i + t_\min, \quad u_i = x_i + t_\max$$
and proceed with a coordinate descent constrained to the interval $[l_i,u_i]$, just as we did above.
Best Answer
assuming $P$ to be positive semi-definite, your problem is simply a standard QP with linear constraints. Unless it shows some peculiarities in the linear constraints, the structure of $P$ or a huge dimension, I would just pick up any established QP solver (MOSEK, CPLEX, Gurobi...) or even just quadprog in MATLAB.
The papers you refer to deals to some specific situations:
Tseng et al. considers non-smooth functions and this is not your case.
Lin et al. is particularly focused on SVN application which are really huge problems. But in that case they solve the dual which a box-constrained QP which is somehow easier.
In general I would search for QP algorithms well before implement your own.