Yes, for that you need use static or callback agents (not call agent to queue).
For more info see
http://asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/ACD_id289508.html
In agents.conf
file and add this paramters:
ackcall=yes ; this will make the agent accept or refuse the call before the channel is opened
acceptdtmf=#; the key agent press to accept the call