To answer in order:
1) The formatters only work on columns, so you can't apply one of them to just one cell. You can manually format the cell, though, by setting the formatted value of the cell to whatever you want via DataTable#setFormattedValue.
2) No, you can't have multiple header rows. You can use line breaks (via the "<br />" html tag) to make a cell multi-line, but you can't add an additional header row. Depending on the setup of your table, you might be able to use the first data row as an additional header row, but that would likely only work in very specific circumstances.
3) There are multiple ways to add links to your charts. You may be able to use a
PatternFormatter to build your links, but if not, you can manually format your data with whatever links you want in whatever way you want.