Note: those marked with an asterisk I am not 100% confident in my answer/reasoning.
Please feel free to discuss the problems and my proposed solutions below!
4.1

I believe b^d can be interpreted as the rate at which the work-per-subproblem is shrinking, so D should be the correct answer.
4.2
With a recurrence of T(n) <= 7T(n/3) + O(n^2), the running time of the algorithm would be B, O(n^2).
4.3
With a recurrence of T(n) <= 9T(n/3) + O(n^2), the running time of the algorithm would be C, O(n^2log(n)).
4.4
With a recurrence of T(n) <= 5T(n/3) + O(n), the running time of the algorithm would be C, O(n^log_3(5)).
4.5
With a recurrence of T(n) <= T(sqrt(n)) + 1, I believe the running time of the algorithm would be B, O(log(log(n))). Think of sqrt(n) = sqrt(2^log(n)) = (2^log(n))^(1/2) = 2^(log(n)/2).