We have a very similar environment to what scott and tdrury describe with upstream/downstream builds requiring to sync to a known changelist number. In our current home grown Maven base CI system we have been using quite successfully the perforce counters idea to manage the builds.
I created a patch for the trunk version 1.18 of the plugin that works as follows and satisfies this need for our continuous integration builds.
A new field "P4 Counter" is available to set the name of the counter. A checkbox controls if this is an upstream build which will update the value of the counter when it performs a successful sync or a downstream build which uses the value of the counter to perform a sync to the given changelist. It works very nicely for our needs.
I also added an unrelated feature that I found I needed on occasion. The P4PASSWD value is set by the plugin in the environment as well as the other Perforce variables that are currently set. This is optional since most folks would consider a password in the environment a VERY bad idea but for us it was already the way we had setup our build environment and it only made sense to continue for now. This allows perforce commands embedded in script steps to succeed without requiring a "p4 login" on the slaves. I would prefer that this is not done but could not think of a way to make it happen transparently. Perhaps an option would be for the plugin to perform a "p4 login" on the slaves? But this could have unintended side-effects since the "p4 login" session would be shared across all jobs running on the slave concurrently and not all jobs are necessarily using the same Perforce credentials.
I can post a patch diff if this is of interest to others or to the submitters so that this can be included in a future version of the plugin.