I agree with the second suggestion. It can be easily scripted using the -k switch along with -c, but with big ranges (hundreds or thousands), it would make a difference in performance.

In the meantime, here's an alias that you might find handy:
Usage is /selrange <dialog name> <id> <start line> <end line>
Code:
alias selrange did -c $1-3 | var %i = $3 | while %i &lt; $4 { inc %i | did -c[color:red]k[/color] $1-2 %i }