This week's book giveaway is in the OCMJEA forum. We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line! See this thread for details.
1) The container won't share a single instance of a tag class at the same time. There's no multithreading issue there.
2) The final event in a tag's lifecycle is the release() method, where the spec guarantees that all properties are reset to an initial value by the container. So if the tag gets reused, you should not have to worry about class-level variables getting carried over or shared.