listing types and listing levels

I want to be able to have listing types and listing levels.
For each listing level there is a price.
example: bronze - $25, silver - $50, gold - $100.
Listing type can allow for custom fields based on the type of listing. i also want to be able to assign categories to list type so that on the front end i can have a filter feature based on search criteria.

Is this possible ?