a) It is easy to see that K belongs to segment AC. Since IK=IC, we have triangle IKC is isosceles at I. Hence, ∠AKI=180∘−∠IKC=180∘−∠ICK=∠ABI, because ABIC is a cyclic quadrilateral. Furthermore, note that I is the midpoint of arc BC, then ∠IAK=∠IAB and IK=IB=IC so △ABI=△AKI.

We conclude that AI is the perpendicular bisector of the segment BK, which implies that E is the midpoint of BK. Note that,
∠DCK=∠ABD=∠AKB=∠DKC
so triangle DKC is isosceles, hence DK=DC. Note that IK=IC, we can see that ID is also the perpendicular bisector of KC so F is the midpoint of CK. From these above results, we have EF is the midline of triangle KBC, then EF=21BC.
b) Let J be the midpoint of arc BC of (O) that contains A, it is well-known that IJ is the diameter of circle (O). We will show that J, K and P are collinear.
Indeed, from ∠IPJ=90∘, we only need to prove ∠KPI=90∘. In triangle ADI, because DK⊥AI, AK⊥DI then K is the orthocenter of triangle ADI. Hence, IK is perpendicular to AD.
On the other hand, note that CM∥AD, it follows that CM⊥IK, but IM⊥KC so M is the orthocenter of triangle IKC. Therefore,
∠MKC=90∘−∠KCI=90∘−(∠ACB+21∠BAC), so
∠KNB=∠NKC+∠NCK=90∘−21∠BAC.
We have ∠KPI=∠KPB+∠BPI=∠KNB+∠IAB=90∘−21∠BAC+21∠BAC=90∘. Hence, J, P and K are collinear.
We also have AJ⊥AI, KD⊥AI so AJ∥KD and DJ⊥ID, AK⊥ID then DJ∥AK. Therefore, AJDK is a parallelogram and the line PK bisects the segment AD.