yes, it's possible.
something like
[download]
if now - limit_IP_time > 24h
limit_IP_downloads = 100
else if limit_IP_downloads is zero
disconnect
else
decrease by 1
to access a variable like limit_IP_downloads you have to type {.set|#limit_%ip%_downloads | 100.}
so, the final result should be something like this (not tested)
[download]
{.if| {. {.sub| {.time|y.} | {.^#limit_%ip%_time.} /sub.} > 1 .}
|{: {.set|#limit_%ip%_downloads | 100.} :}
|{:
{.if|{. {.^#limit_%ip%_downloads.} > 0 |{: {.dec|#limit_%ip%_downloads.} :}
|{: {.disconnection reason | downloading too much .} :}
.}
:}
.}