You may find some help in the documentation for string patterns: _ is the universal placeholder you seek, so we can construct an appropriate pattern for handing to DictionaryLookup:
dl[len_]:=DictionaryLookup[Repeated[_, {len}]]
(meaning: "there must be exactly len arbitrary characters in the string").
Example:
dl[20]
(* {"Andrianampoinimerina", "buckminsterfullerene",
"compartmentalization", "counterrevolutionary",
"electroencephalogram", "great-granddaughters",
"institutionalization", "internationalization",
"magnetohydrodynamics", "uncharacteristically"} *)
Timings:
AbsoluteTiming[dl[20]][[1]]
(* 0.020801 *)
AbsoluteTiming[DictionaryLookup[a__ /; StringLength[a] == 20]][[1]]
(* 0.608601 *)
So, if you also need speed, dl might be preferable.
StartOfStringandEndOfStringare superfluous,DictionaryLookup@Repeated[_, {5}]is enough. – C. E. Apr 03 '15 at 11:09