For what you are after, some GRASS modules might be helpful. These can be found in menu processing > processing tool box:
To compute a raster dem I made good experience with the grass module
v.surf.rst. This is a bit tricky (lots of parameters...), but the background is described in detail by the authors MITASOVE & HOFIERKA in this paper: http://www4.ncsu.edu/~hmitaso/gmslab/papers/MG-II-93.pdf
Once having your DEM ready, you can use
v.sample so sample your DEM at given locations. For this you first need to make point locatins from your csv. Use the QGIS text file import capabilities for this:
Use these points as input to Grass-module
v.sample. This creates a new points file with an additional attribute containing your sampled raster values. Right click on it in the layer tree and
Save as... csv.
For further use you can put this all together with the graphical modeler.