well you know have 2 equations:
a_pullBlock * m_1 = a_pullUp * m_2
sqrt( 2 * 5 / a_pullUp)=sqrt( 2 * 20 / ( a_pullBlock + a)
with two unknows: a_pullBlock, a_pullUp so you can solve to find a_pullUp which you can plug in t=sqrt( 2 * 5 / a_pullUp) to find t :)
I totally agree with your answer to a) !
for b), I would say that following Newton's 3rd law, the same force F_pull you exert on the rope to pull up, pulls the block towards you. Here we have an additional acceleration a_pullBlock of the block towards the pulley and another one a_pullUp of you...