I am trying to use LASSO for model selection, but I need my fitted values to remain non-negative. Is there a way to implement this simply in R? I've found that the penalized package allows for non negative coefficients, but not so for non negative fits.
No, that would make it another optimization problem, which the algorithm does not seem to provide. Remember the Lasso requires a numerical algorithm for computing the solution and the Ridge has a closed form. That package provides you with a numerical method to compute both types of penalties which is great, but you are asking it to solve a different type of optimization problem which is not supported.