Getting the list of packages is easy enough -
exec msdb.dbo.sp_enum_dtspackages
or
select distinct name from msdb.dbo.sysdtspackages
User permissions are a little trickier. Viewing, creating, and deleting packages are done using stored procedures in msdb, so by looking at the permissions for the stored procedures, you can determine who can do what. Look at sp_add_dtspackage, sp_drop_dtspackage, sp_get_dtspackage. There can also be owner and user passwords that control who can edit and execute a package.
Greg