Does it matter for this function if the set we check membership of is finite?
You can solve this problem in a straight-forward way: give an algorithm that (semi-)computes $H_1$.

Here is a rough sketch that you have to expand into appropriate detail in the model you want to work with and then show correctness and computability.

Let $M_B$ be a semi-decider for $B$.


Compute $\Phi(x,x)$ and $M_B(x)$ simultaneously.
If $\Phi(x,x)$ terminates first, return $1$.
If $M_B(x)$ terminates first (and accepts), return $0$.
Otherwise, loop.


Hints



   In step 1, use dovetailing.


   Steps 2 and 3 can not disagree.


   Step 4 only happens when it should.



You can show the necessary lemmas using the assumptions on $B$.

As you see, we don't care at all if $B$ is finite as we do not care what $M_B$ looks like; we just use it as a black box.



Aside: I am not sure that infinite $B$ with all the properties as listed in the question exist. We can ignore this, though: the problems is stated such that we show something for each such $B$ -- if there is none, we are good.