Wow, you asked a loaded question.
One option is to use Jetspeed legacy messaging, but that's gone away with JSR-168.
Another way is to have the 'second' portlet read some data placed in a shared session. Portlets in the same portlet app can potentially share their session space, but if the two portlets are in different wars, you're out of luck.
WebSphere provides a C2A or Click-to-Action technology which is slick, but I don't know how 'standard' that is. If you're using WebSphere Portal, I could probably help you out with Click-2-Action.
Another option might be to use a
Struts portlet type of domain, which helps you to create multi-pate portlet applciations.
The big point is that you don't really call one portlet from another portlet. The portal page is supposed to be an aggregation of data, and sometimes designing portal applications requires you to bend your thinking in a way you just might not be used to.
Cheers!
-Cameron McKenzie