It seems that it's possible to use wildcards with -b option, from bedtools webpage:
"NEW!!!: -b may be followed with multiple databases and/or wildcard (*) character(s).*"
So it wouldn't be necessary to perform a loop, just -b *.bed. But I've never use it.