Hi,
Since the overlap matrix depends on k, the easiest way to calculate the overlap between two Bloch states at two different k-point is to do it in a real-space representation. For this you can use the BlochState analysis object. I have attached a script, which calculates the overlap between two Bloch states in Silicon. I hope this can help you.
Regards,
Troels