Is it possible to convert non-zero values to one in CVX?

As I wrote, declare a as binary. Then use a solver, such as Mosek, which can handle binary variables. That should be better than trying to create a penalty term or use a Taylor series approximation. I think Mosek or Gurobi will do a better job of handling binary variables than any "home-brew’ approach you might create.