How to set statement timeout per user?
Yes, Postgres allows settings per user or even per database and user, including statement_timeout:
ALTER ROLE foo SET statement_timeout = 12345;  -- milliseconds

Related:

How does the search_path influence identifier resolution and the “current schema”

To see the currently active setting for the session:
SHOW statement_timeout;

Or get more details from the view pg_settings (including how it was set):
SELECT *
FROM   pg_settings
WHERE  name = 'statement_timeout';

To check current settings for a role:
SELECT rolname, rolconfig
FROM   pg_roles
WHERE  rolname = 'foo';

rolconfig is an array, unnest it to get one setting per row:
SELECT rolname, unnest(rolconfig) AS setting
FROM   pg_roles
WHERE  rolname = 'foo';