There used to be a site that gave trainer lists for all the main games. It hopped around between domains, and is now completely expired, but an old copy of the page is still available: https://web.archive.org/web/20160724094643/http://upokecenter.dreamhosters.com:80/articles/pokemon-video-games/pokemon-diamond-and-pearl/pokemon-diamond-and-pearl-trainers/
In this list, Barry is referred to as "Cedric", and he has several different teams with his name attached depending on how far you are in the game and what starter you picked. All opposing trainer-owned Pokemon in this game have IVs at a uniform level across the board, and you can tell what level that is from the list. If a Pokemon has a number in brackets such as [150], that number represents the IV level, but to convert it into the actual number, you have to multiply by 0.12: in this case, 150 x 0.12 = 18, and you'll be dealing with 18s. If there is no such number in brackets, that trainer uses straight 0s.
Oddly, Barry's teams as the game goes on have increasing numbers here, which adds a fitting sense of difficulty but defies the mythos behind how IVs work and team continuity. From the start of the game, you get [30] = 3, then [50] = 6, [80] = 9, [100] = 12, [150] = 18, [200] = 24, and finally [250] = 30 for the endgame battle.