Maybe you can use awk's range patterns here:
tail -f logfile | awk '/ddddddddddddddd/,/hhhhhhhhhhhhhhh/'
If you need to circumvent the SIGPIPE problem you can use socat instead of tail for the job:
socat -u file:logfile,ignoreeof 'exec"system:"awk'stdbuf -o0 awk /ddddddddddddddd/,/hhhhhhhhhhhhhhh/"''" > logfile.new