Support of IUPAC notation
If I understood correctly how your algorithm works, it seems to me that you can support extended DNA alphabet (N, K, etc.) in the genomes without loosing much. If instead of a 2-bit coding of a nucleotide you adopt a 4-bit one, e.g.
A=1001, C=0100, G=0010, T=0001, K (G or T)=0011, N (any)=1111.
Then to compare the hash of a pattern (h_p) to the hash of the genome part (h_g) you would do: h_p & h_g == h_p, e.g.
AG & AK == 1001 0010 == AG, while AC & AK == 1001 0000 != AC.
I think it might be worth it as I expect genomes to have ambiguous characters almost always.