In your first example, could, the preterite form of the modal verb can be used in two different types of constructions. First (reading a), it's interpreted as referring to past time (the most common use for the preterite). We'll call it a past tense construction. Then second (reading b), it's used to express modality (or "mood" in traditional grammar) and not time; specifically, the speaker's judgment about what is possible. This is called a modal preterite construction.
In the second example, only the modal preterite meaning is available because have + V has restricted distribution because it has a stative aspectual class (see Vendler's (1957) paper Verbs and Times on this topic).
For example, you can use the progressive tense with non-stative verbs:
Thomas is running right now.
Thomas is thinking right now.
But not with stative verbs:
*Thomas is knowing the answer.
*Thomas is believing in miracles.
*Thomas is having killed a bear.
Interestingly, consider that:
Thomas could know the answer.
...has only one reading (the speaker thinks it's possible that he knows the answer), while "Thomas could run faster" has two readings (at a specific time in the past something happened that let him run faster, or the speaker judges that he is (now or in the near future) able to run faster).
I wonder whether this has been remarked upon as a test for stative aspect before.