Вы можете сделать это с помощью простого javascript и css.Что вам нужно сделать, это посмотреть, что такое идентификаторы портлетов B и C, и, используя javascript, вы можете изменить свойство css "display" на границе портлета div.
Используя простой javascript
var p = document.getElementById("p_p_id_YOUR-PORTLET-ID_");
if (p) {
if (p.style.display == "none") {
p.style.display = "block";
} else {
p.style.display = "none";
}
}
Использование jQuery
jQuery("p_p_id_YOUR-PORTLET-ID_").show();
//or
jQuery("p_p_id_YOUR-PORTLET-ID_").hide();
Примеры для показа / скрытия одного портлета.В вашем случае ссылка B должна скрывать C и показывать B, а ссылка C наоборот:
Также взгляните на Связь между портлетами на стороне клиента