Writing custom data analysis program
1) Store the data. For the moment I have plain text files (each file
  has rows of a fixed number of columns - most of the data are
  categorical). Would it make sense to save those in some database (SQL)
  or hdf5? Any hints on which is preferable?


Yes, it would make sense to store in a local database, rather than using large csv/text files. As you say that the data is derived from a NoSQL source, I assume unstructured data. So, using a SQL/relational store is out of question. As you say you are using Python, I would suggest you use TinyDB, which is both light-weight and easy to handle.


  2) Which plotting library would you propose for the graphs? I have
  seen about bookeh and matplotlib supports interactive widgets but I
  don't know what people normally use.


Matplotlib would be good enough. Actually, this question is more opinion-based than anything else. There are a lot of visualization libraries you can use, like Bokeh, Seaborn, etc.


  3) Could I export the analysis results in an IPython notebook and then
  in html programmatically?


Yes, you can do the analytics directly in an Ipython notebook(Jupyter), which also supports Markdown and HTML cells.

In addition, you can also use widgets and interactive visualization with Jupyter Ipy notebooks and Matplotlib.  Tutorials for the same