Is it possible to get a list of procedures created with WITH EXECUTE? Is it possible to get a list of stored procedures create with WITH EXECUTE?

I tried looking at sys.procedures, but they all have the principal set to null, and I know there are some procedures created this way.
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).