Is it possible to get a list of procedures created with WITH EXECUTE?
You need sys.sql_modules:

SELECT p.name, m.execute_as_principal_id
  FROM sys.procedures AS p
  INNER JOIN sys.sql_modules AS m
  ON p.[object_id] = m.[object_id]
  WHERE m.execute_as_principal_id IS NOT NULL
  ORDER BY p.name;


If you need to identify explicit EXECUTE AS CALLER vs. no EXECUTE AS (which are functionally the same), you'll need to parse sys.sql_modules.definition, which is far from foolproof (since EXECUTE AS can appear in many different contexts, including inside comments and string literals).