Following is a response from DHS staff member, Tom Pullum:
The following lines will do this merge in Stata. You will have to adapt to R.
use "...GHKR4BFL.DTA", clear
gen hwhhid=substr(caseid,1,12)
gen hwline=b16
drop if hwline==. | hwline==0
merge 1:1 hwhhid hwline using "...GHHW4AFL.DTA"
tab _merge
keep if _merge==3
drop _merge
hwhhid is a string that has all characters in caseid except the last three, which are the woman's line number. That's why I use the substring command to reduce to the first 12 characters. In the KR file the variable b16 is line number in the household listing but you have to remove the "." and "0" codes.