Of course. You can map *all* crystal structures to an upper triangular matrix, it is just a convention. Now, doing so can be a bit of a pain, but you can have a look at
ipi/utils/io/backends/io_xyz.py
where it does the conversion from a generic cell matrix (GENH) to the internal upper-triangular representation.
Note however it might be better to also update the input of CP2K to reflect this change, as dramatic changes of the cell require deep reinitialization of the code,
and that tends to be a dark area for the various i-pi interface implementations.