You can solve this set covering problem via integer linear programming as follows. Let $P$ be the set of larger polyominoes, let $Q$ be the set of smaller polyominoes, and for $p\in P$ let $Q_p \subset Q$ be the polyominoes that can construct $p$ by adding a cell. For $q\in Q$, let binary decision variable $x_q$ indicate whether $q$ is selected. The problem is to minimize $\sum_{q\in Q} x_q$ subject to linear constraints
$$\sum_{q\in Q_p} x_q \ge 1 \quad \text{for all $p\in P$}$$
that enforce that each larger polyomino can be constructed from some selected $q$.
The minimum for part a is
8, with the following free pentominoes:
{(1,1),(2,1),(2,2),(2,3),(3,2)}
{(1,1),(2,1),(2,2),(3,2),(3,3)}
{(1,1),(2,1),(2,2),(3,2),(4,2)}
{(1,1),(2,1),(2,2),(3,1),(3,2)}
{(1,1),(1,2),(1,3),(2,2),(3,2)}
{(1,1),(1,2),(2,2),(3,2),(4,2)}
{(1,1),(1,2),(1,3),(2,1),(3,1)}
{(1,1),(2,1),(3,1),(4,1),(5,1)}
If I have constructed the sets correctly, the minimum for part b is
19, with the following free hexominoes:
{(1,5),(2,1),(2,2),(2,3),(2,4),(2,5)}
{(1,4),(1,5),(2,1),(2,2),(2,3),(2,4)}
{(1,1),(2,1),(2,3),(3,1),(3,2),(3,3)}
{(1,1),(2,1),(2,2),(2,3),(3,1),(3,3)}
{(1,1),(2,1),(2,2),(2,3),(3,3),(3,4)}
{(1,1),(2,1),(2,2),(2,3),(3,3),(4,3)}
{(1,3),(2,2),(2,3),(3,1),(3,2),(4,1)}
{(1,3),(2,1),(2,2),(2,3),(3,3),(3,4)}
{(1,3),(2,2),(2,3),(2,4),(3,1),(3,2)}
{(1,2),(2,1),(2,2),(2,3),(2,4),(3,4)}
{(1,3),(2,3),(3,2),(3,3),(4,1),(4,2)}
{(1,3),(2,1),(2,2),(2,3),(3,3),(4,3)}
{(1,3),(2,1),(2,2),(2,3),(2,4),(2,5)}
{(1,3),(2,3),(3,3),(4,1),(4,2),(4,3)}
{(1,4),(2,1),(2,2),(2,3),(2,4),(3,4)}
{(1,2),(1,4),(2,1),(2,2),(2,3),(2,4)}
{(1,2),(2,1),(2,2),(2,3),(3,1),(3,2)}
{(1,1),(1,2),(1,3),(2,1),(2,3),(2,4)}
{(1,1),(2,1),(3,1),(4,1),(5,1),(6,1)}