I guess I didn't explain that very well. Duo gives the translation as "That is all I have got to say", but English lets us leave out words that Italian doesn't, so the function of "ciò" isn't apparent in that translation. In order to see the function of "ciò" we have to be wordier and expand it to "That is all that which I have to say." "Quello" matches the first "that" and "ciò" matches the second "that". That (quello) is (è) all (tutto) that (ciò) which (che)...
The same role 'to' has in English: it's to introduce one type of implicit relative subordinate sentence (proposizione subordinata relativa implicita). In layman's terms, the subordinate sentence extends the meaning of the noun with a verb instead of an adjective. Another example is "Ho molto da fare": I have a lot of things to do / I'm very busy.
It could be "vado da mia nonna" but grammatically that's a different thing; the difference is that in "vado a vedere" the subordinate completes the meaning of "andare" with its destination, while in "cose da fare" the subordinate completes the meaning of "cose" in the same way an adjective would. Just as an adjective it's not fundamental in the sentence: "Quello è tutto ciò che ho" (that's all I have). Some sheets of paper are called "carta da scrivere", and I could ask you "Hai della carta da prestarmi?" (do you have any paper to lend me?). There are a lot of subordinate sentence types, so I'm not sure I'm not forgetting any, but I think that this kind of construct is always used to specify that things can or must be object to the action indicated by the verb.
Agree! CHE HO DA DIRE = WHAT I HAVE TO SAY. Translation word-by-word sounds fine in both languages. Here, HO doesn't imply to past tense (simple or perfect), because is not auxiliary verb followed by Past Participle. Simply, present (HO) followed by DA + infinitive (DIRE).