I have a subnet of public IP addresses that my ISP has provided me with. They are routed through my router (how profound) that has a static IP. I have successfully assigned the IPs from that subnet to various devices on my network. This works just fine, they get their own public IP, they can access the Internet, and the Internet can access them. However, I would like to also assign some private IPs on my network through that same router and put them behind NAT. Is this even possible? Could a VLAN be of use? I would like to avoid putting another router on the network, which makes this is quite an awkward question.
You can do it. To limit layer 2 broadcast domain size, it is recommended that a VLAN be used, but this would be of very limited use unless your network has more than a few hosts and switches.
To do this, you can configure your router with two addresses (on one interface, or if you are using VLANs, on a subinterface on each VLAN). It will route packets for public IPs other than its own, and NAT+route packets for its own IP. You can then create a DHCP pool with reservations to dole out the public IPs, or just configure them statically on the hosts that need them.