See Andeas' answer regarding realtime.
It is easy to update a plot when new data is available. See the properties of plot by doing "get(plot(0,0))" or looking in the manual. There are sources or you can manually update the x and y data. I do not think we have deque kind of container but you could creste one using c++ or maybe some octave forge package have done it already.
I see an issue with reading the data from the file. Is the file growing? If it is at some point you will get delays from reading a huge file. You will have to find a way to only read the last point in the csv. E.g. by seeking or by tailing before attempting to read.
Do not forget to put a data validator between the data reader and the ploter.