Thank you, Raymott. I made my mind up concerning the "could" rules so I thought I missed something, so I wanted to know it as soon as possible.
Returning to your questions:
1. No one could have known what I had thought.
It is a past conditional sentence.
That's true, but they all could be, assuming that 'could' refers to the past as well as being conditional.
2. No one could know what I had thought.
This sentence means that it's impossible that somebody knows what I thought 10 minutes ago; yesterday...
These last two are similar to the ones explained above, so an extensive explanation isn't necessary.
The only difference is that the second clause is in the past perfect.
So what is being referred to (what I [had] thought) has to be one step back in the timeline from something else.
A: I know what you thought yesterday. (Simple past of thought)
B: No. Nobody could know [now] what I thought [yesterday].
A: OK, I don't know what you thought yesterday, but I know what you had thought before that.
B: No. Nobody could know [now] what I had thought [before I thought something different yesterday].
A: Well, I could have known what you thought [yesterday].
B: You could have if I told you. But I didn't. Nobody could have known.
etc ...
The context is important as usual. And often either form will work. The subtle differences are not worth getting too worried about.
In principle, each clause in the two-clause sentence will follow the rules for the correct use of tenses for that clause, independently of the other clause.
If the knowing or thinking calls for the present or past or past perfect, that is what should generally be used. But tenses are often simplified in practice.
When A says: "I could have known what you had thought", in real life, he's just as likely to say, "Maybe I knew what you thought?", with the rest of the grammar filled in with adverbs and context.