Don't do it. You can set transaction isolation for the whole pool in at least 2.4.4 and 3.0.
There's a requirement we haven't implemented yet for this kind of stuff in jca, where you can specify the connection cannot be shared (or reused, really), then you can set this kind of stuff without breaking the connection for others in the pool. I'm not sure exactly how useful it will be since for many of these kinds of properties, such as tx isolation, you can't change them in the middle of a tx, so you'd have to use BMT, yuckola.
What do you gain by claiming the connection is read-only over just not writing to it? If this is sufficiently useful we could add it, like tx isolation, to the jca wrappers.