Crystaltile2 will unpack and inject things into a rom, changing file sizes for things is a bit trickier on occasion- it is all in the right click options when you bring up the DS file system stuff. Bonus is that it will also allow you to handle a lot of compression on the same menu.
Anyhow all this is a known problem with ndstool (the program dslazy and dsbuff use to pull apart DS roms), you can manually edit rom internals if you want but if you want a more automated tool then nitro explorer might sort your issues with the repacking
http://treeki.shacknet.nu/
If you have not changed the file sizes (doubtful when it comes to 3d work as compression is the word of the day) or have made them smaller and can them up (more likely but far from a certainty) you can use the likes of NDSTS
http://www.no-intro.org/tools.htm to inject files back into the rom. This does work around roms that do not like to be rebuilt very well.
Texture hacking- some file system level stuff has been done before (main texture swapping for games like Soma Bringer and mario kart) but straight up editing has yet to attract much of a crowd. Equally a few people have been having a go at model ripping (this is mainly for the likes of pokemon and kingdom hearts) but technical skills are not that available in those arenas so they mainly use model viewers. You should also remember that more than a few DS 3d models use material colours and lighting to achieve an effect rather than use textures- the DS 3d is weak compared to the likes of the consoles and PC where optimisation is not necessarily the order of the day.
Filesystem level stuff is easy enough but for the more exotic
http://www.romhacking.net/forum/index.php/topic,8407.html is worth a read for part of it all and
http://llref.emutalk.net/v2/docs.php (same author as the thread) has a bunch. Rather nicely it also incorporates a bit on animation methods (one of the animation methods involves swapping out textures for others- damage, blinking, clothing changes and beyond).
A far older spec with a fair few limitations with regards to what actually happens (reverse engineering a file format is usually only as good as what you have in front of you- you can pull apart surrounding code and refer it back to the hardware but it is quite tricky)
http://kiwi.ds.googlepages.com/nsbmd.html
kiwiDS also made a few tools.
re 2d graphics: there are a few formats the NitroSDK (nintendo's SDK for the DS) provides but not all games use them and compression is also quite common these days. Not sure what advice I can offer here- much like anything in rom hacking it can be plain as day or you can spend 3 weeks battling with a compression format only to have to turn around and battle with an animation/image construction format or indeed parts of the game can be plain as day where others can be hideously complex. Similarly just about everything uses the SDAT sound format but significantly less games use the NitroSDK graphics formats.