In my opinion, I prefer to pass the address directly from the client TypeScript SDK and perform the address validation within the smart contract function.
Price Info Object is basically something which provides the correct address for the object containing price data for that feed. Given that, the get_price_no_older_than function can tell where to fetch price data from. So, it is necessary. Theoretically you can supply it yourself but updating the feed is one way of getting the feed object IDs. As @frongrider2 said, you can just pass the address directly if you want to. But you need to know that address somehow and store it for use.