The answer to both questions is yes, and they both follow immediately by the link in the comments (even though the fact that the second follows from the link was not mentioned).
The trick is that lattice duality interchanges sums and intersections, e.g.
$$(L_0+L_1)^* = L_0^*\cap L_1^*$$
There are some conditions on this I believe, and I've written an answer on here somewhere on precisely this topic ~2 years ago (I saw it within the last day here, but don't want to hunt for a link currently).
You combine this with the fact that we have a very efficient representation of $L_0 + L_1$.
In particular, you can
- Concatenate their bases, then
- Compute the Hermite Normal Form (HNF) of the resulting generating set
to get a basis for $L_0 + L_1$. By duality, this can also be used to get a basis for the intersection.
What about $L_0 \cap (v+L_1)$? Just view $L_1' = v + L_1$ as another lattice, use the HNF to compute its basis, then use the duality trick to compute the basis of the intersection, e.g. it immediately follows from this general technique.
It's worth mentioning that things get trickier if you cannot view $v + L_1$ as a lattice, for example if it is not discrete. You can see this in 1D with the "lattice" $\mathbb{Z} + \pi\mathbb{Z}$. Provided things like the relevant sums and intersections result in lattices (which will always happen if you require that $q\mathbb{Z}^n\subseteq L, L'\subseteq \mathbb{Z}^n$, perhaps for large $q$) you're fine though.