$DBD$ is in effect a re-scaling of the rows and columns of $B$, and you want it to have constant row-sums. If $B$ were positive, this would be possible by, say, Sinkhorn's theorem. For $B$ with negative values, I'd have to think a bit this would be much more difficult, but possible in special cases. See this survey by C.R.Johnson & R.Reams for a panorama of the subject:
P.S. Do you have more detailed information about the structure of your matrix $B$?
$DBD$ is in effect a re-scaling of the rows and columns of $B$, and you want it to have constant row-sums. If $B$ were positive, this would be possible by, say, Sinkhorn's theorem. For $B$ with negative values, I'd have to think a bit more.