Sure, just define an aggregate over the base multiplication function. E.g. for bigint:
CREATE AGGREGATE mul(bigint) ( SFUNC = int8mul, STYPE=bigint );
Example:
regress=> SELECT mul(x) FROM generate_series(1,5) x;
mul
-----
120
(1 row)
See CREATE AGGREGATE