Is it possible to allow players to create their own matches and then display them in a match browser for others to chose from / join? Is it possible to do the same type of setup with with a lobby that multiple players can join?

For single Matches, your players create matches using MatchMakingRequests. When you create a match in the Multiplayer tab of the portal's Configurator, what you are doing is creating a match type, which behaves like a class, or blueprint. Your players then create instances of this match type by specifying its shortcode in the 'matchShortCode' field of the MatchMakingRequest.

For a Lobby, you would need each player to perform a MatchMakingRequest using a drop-in/drop-out match set to manual. Then, after the initial MatchMakingRequest, each player performs a FindPendingMatchesRequest. This will return a list of all the active pending matches. You can then use JoinPendingMatchRequest to join those.