I don't know about PC NES ones* but one of the versions VBA for the GBA (and GB/GBC) did have it where it did a squash/stretch style resize to fill the windowed mode. I saw it in a few others over the years as well but can't put names to them right now. Basic bilenear/bicubic resizing which would most likely have been used for that does have a nasty habit of messing up pixel art with fonts being the first casualty.
*NES emulators were made for the GBA. As the GBA resolution is lower than NTSC (just a bit but still enough) the emulators adopted various techniques including tile cropping to get it there. This routinely messed up the text if the character used all the tile such that people made hacks and tutorials to work around it (
https://web.archive.org/web/20061101111343/http://gbafan.com:80/rom_hacks.html ).
As for 1.5x mode... what was already said as far as technical feasibility**. Mind you I am at a loss for why it is wanted -- any screen still going right now should be many times what a NES (or indeed any console before things went "HD", which is to say a handful of PS2 and original xbox offerings) would output. Even the cheapy laptops seem to have got out of their inferior screen rut in recent years. I will have to assume the OP has not discovered two monitors and wants a chat program on the same screen or something.
**if it helps the OP or some future forum searcher. The basic nearest neighbour scaling method takes the pixel and copies it to the ones above and below it to turn it into a 2x2 grid of the same pixel. Does not do well with normal video but for something as "crisp" as pixel art it is very nice and avoids blurring it a bit, with the added bonus of it being exceptionally fast/undemanding to do (after all there are no calculations needed, just copying data that is already there). If you ever wondered why your videos made with default settings when you export at 1080p don't look as nice as others despite playing the same game... yeah find whatever your editor calls nearest neighbour (my preferred choice of avisynth calls it PointResize).