If headers are identified by those `#####` lines, and the list of IDs to search for is in a `ids.txt` file (one per line), you could do:
awk '
!ids_processed{ids[$0]; next}
$0 == "#####" {getline header; getline; next}
$0 in ids {print header ORS $0}' ids.txt ids_processed=1 input.txt
For instance, if `ids.txt` contains
2515
544
577890
On your sample, that would give:
Production_Broad:
544
IGHTY_BBBT:
2515
MC_Addr:
544
MC_Addr:
577890