Which is correct
The correct choice is b) because this sentence is a typical turn of phrase. Choosing a) is not impossible, but strange anyway.
Translation of correct answer
Japanese:
100[歳]{さい}の[祖母]{そぼ}は[健康]{けんこう}[診断]{しんだん}で[何]{なに}も[異常]{いじょう}がなかった。あの[年]{とし}にもなれば、[悪]{わる}いところの[一]{ひと}つ[二]{ふた}つはありそうなものだが。
Add some omitted words to make this sentence clear.
100[歳]{さい}の[祖母]{そぼ}は[健康]{けんこう}[診断]{しんだん}で[何]{なに}も[異常]{いじょう}がなかった。([普通]{ふつう}なら)あの[年]{とし}にもなれば、([健康]{けんこう}に[関]{かか}わる)[悪]{わる}いところの[一]{ひと}つ[二]{ふた}つはありそうなものだが、(どういうわけか[彼女]{かのじょ}にはない)。
English:
My grandmother, who is 100 years old, got no bad point on medical examination. (In ordinary case) people will get some trouble in health for being old like her, (but somehow she doesn't).
Explanation
An expression, 〜ものだ
, means "something in general" in this case.
Example 1:
こしょうは[普通]{ふつう}[辛]{から}いものだ。
Pepper is hot in general.
Example 2, a conversation:
A「このギターはぼろぼろなのに、なぜか[高]{たか}いよ。」
B「ヴィンテージギターはそういうものだよ。」
A: This guitar is really damaged, but so expensive somehow.
B: It's general for vintage guitar.
Example 3:
[歳]{とし}をとれば、[肌]{はだ}はシワシワになりそうなものだけど。
Skin will get wrinkled for getting old in general.
Conclusion
The speaker of first sentence thought that ordinary people will be in ill health for getting old, but her/his grandmother isn't. The speaker expressed her feeling with ものだ
.