How to impute right-censored data
You can't put v_length in the regression - that'd be a form of data leakage. However, you are right to be thinking about "how to tell the model that I've already observed some length". This can be accomplished with some survival analysis math. For censored observations, what you want is 

$S(l \;|\; l &gt; \text{observed v_length})= P(L &gt; l \;|\; L &gt; \text{observed v_length})$. 

Let's analyze this: 

$P(L &gt; l \;|\; L &gt; \text{observed v_length}) = \frac{P(L &gt; l \;\text{and}\; L &gt; \text{observed v_length})} {P(l &gt; \text{observed v_length})}$

$\;\;\;\;\;\;=\frac{P(L &gt; l)} {P(L &gt; \text{observed v_length})} = \frac{S(l)}{S(\text{observed v_length})} $

This gives you a new survival curve that you can use to do imputation (take the median or mean of the new survival curve). 

In python's lifelines package, this calculation is done behind the scenes when the conditional_after argument is used in the prediction methods, see docs here. I'm not sure if R packages have something like this.



It also doesn't make sense to plot the observed vs predicted, because some observed values are truncated (censored) - hence a difference in observed and predicted could be due to censoring rather than bad prediction. For example, using your values above, I may plot the point (1.70, 25.0). The 1.70 is censored, and the 25.0 is the predicted value. There is a big difference between these values, but we don't know if that difference is just because of the censoring or if our prediction is just really off. 



My advice would be to focus on finding a good model that maximizes the out-of-sample likelihood or AIC (Why likelihood? It's a good measure of survival fit).