I still don't get what the problem is. The advantage of OPL is that you can basically copy the expressions verbatim to such a syntax?
Is your problem the dot-operator as in "p.p"? If you define this notation in the surrounding text then I don't see why you cannot use that notation in the formula. If you don't like that, then for a tuple
tuple T {
int a;
double b;
}
T tuples[I];
that is indexed by set I in OPL you can define functions "a: I -> natural numbers" and "b: I -> real numbers" so that in the formula you can write a(i) and b(i) when in OPL you would write tuples[i].a and tuples[i].b.
Note that math formulas become a lot more readable if you only use symbols with a single character, i.e., instead of using 'p' and 'pl' maybe use 'p' and 'k'.
#CPLEXOptimizers#DecisionOptimization