If it is unique per save then that sounds like you are going to want to go into the save editing world rather than playing with the ROM data.
The DS was the last console to basically be free form when it comes to saves so comparing files (later devices have set headers and such like) is best done in a hex editor*. You will also encounter file hashes which can be quite custom as well (seen everything from basic parity up to encryption grade (at the time anyway) hashes, though the trend is towards something that would compete with CRC32. You can learn the hash format if you want, or some choose to disable the hash check/results and force the accepted path (compare and then branch accordingly is so easily changed to branch regardless) with the added bonus of if it is for a one shot type deal the game will sort the hash for you at next save to make it valid on a stock ROM be it on a flash cart or even original cart.
*not all games will do wear levelling or alternating slots for backup (pokemon is fairly noted for it) but it is a thing you might encounter as well which makes the naive file comparison marginally more annoying in some ways and better in others (you might literally have a backup there to compared to, which if you save two times in short order with few changes then that can be very useful).
nbfc I have seen before but it is not one of the normal list (
https://wiki.vg-resource.com/Nintendo_DS#2D-related ) that most such programs (tinke, crystaltile2, oil of vitriol, mkds course modifier...) will tackle as known file types.
Nintendogs is also a largely 3d game so that limits some things here or forces you into the far more annoying to edit 3d world.
If you were going to do the full bore hack then you are going to have get your hands dirty with the code.
Whatever stats exist (can maybe find them with cheats, comparing a bunch of new games) or maybe graphics get stuck in RAM to showcase names would probably be where you start. You might also want to figure out when it is done (new game, first meeting, end of tutorial, as necessary and then stored...) such that you can force new data to be generated. From there you get to work back to whatever randomness source* is used to generate names and pick models/neighbours. That is a reasonably advanced hack (bit more than basic tracing but not necessarily trying to crowbar a lot of new code in or change how something works just yet).
*whether some kind of prebaked randomess table is within the game, PRNG algo, or it does something like gather touchscreen randomess or uses the clock (millisecond you press yes tends to be fairly random) I don't know. I have seen all such things used in the past.