This is completely normal for raster images embedded in SVG. You can upload them somewhere and use a URL as a link instead of having them encoded as base64 in SVG to avoid having this long string.
Depends on your development setup. If you are using plain HTML and no server and simply opening it in the browser locally, yes. If you use a local server, the images need to be in a public folder of your server.