This is not supported, but it can be done.
What you need is a pool of connection pools. Sounds silly, but using a tool like [http://proxool.sourceforge.net/ proxool], it can be done.
There is one unsupported implementation of this in the iBATIS CVS repository. You can browse it [http://cvs.sourceforge.net/viewcvs.py/ibatisdb/contributed/ibatis-dbl-2/threaduserdatasource/ here] if you want, or check it out using a cvs client by following the instructions [https://sourceforge.net/cvs/?group_id=61326 here].
The people at proxool are working on a Data``Source implementation that does this (look [http://proxool.sourceforge.net/datasource.html here] for more on it), and we have discussed the possibility of them using the one in our CVS repository as a starting point.
Hopefully, there will be a simpler solution for this soon.

If you are using Spring you can make use of the UserCredentialsDataSourceAdapter. This will allow you to pin a users credentials on to the data source and then use tools such as iBatis in a way which makes this transparent.