my time-based solution:

hour 0 : each prisoner tests 100 bottles
hour 2 : each prisoner tests 10 bottles from each 100 bottle group
hour 4 : each prisoner tests 1 bottle from each 10 bottle group

after 10 hours you know which 100 bottle group
after 12 hours you know which 10 bottle group
after 14 hours you know the exact bottle

you could also move it further apart if the poison isn't that exact.