psql shortcut for frequently used queries? (like Unix "alias")

I don't know about any possibility. There is only workaround for psql based on psql variables, but there is lot of limits - using parameters for this queries is difficult.

postgres=# \set whoami 'SELECT CURRENT_USER;'
postgres=# :whoami
 current_user 
--------------
pavel
(1 row)

Pavel's answer is almost correct, except you can use parameter in another way.

after

\set s 'select * from '
\set l ' limit 10;'

The following command

:s agent :l

will equal to

select * from agent limit 10;

According to http://www.postgresql.org/docs/9.0/static/app-psql.html

If an unquoted argument begins with a colon (:), it is taken as a psql variable and the value of the variable is used as the argument instead. If the variable name is surrounded by single quotes (e.g. :'var'), it will be escaped as an SQL literal and the result will be used as the argument. If the variable name is surrounded by double quotes, it will be escaped as an SQL identifier and the result will be used as the argument.

You can also use backquote to run shell command

Arguments that are enclosed in backquotes (`) are taken as a command line that is passed to the shell. The output of the command (with any trailing newline removed) is taken as the argument value. The above escape sequences also apply in backquotes.