Pues no... Solamente a través del método POST es como puedes enviar información entre páginas sin que sean visibles en la URL.
Lo de codificar en la url no puedes hacerlo directamente con PHP, pues PHP no entra en contacto con los datos sino hasta que la pagina ha sido enviada, así que la solución directa sería, por ejemplo, con javascript. Y eso no es nada seguro, pues el script que "codifica" estaría a disposición del visitante, además que lo que se guardaría en la historia del URL sería la cadena ya codificada... por lo que cualquiera que accese a esa dirección, tendrá acceso a la página...
Tienes alguna razón en particular para no querer usar el metodo POST??