Create smaller subnets from a large subnet which overlaps
Solution 1:
This should work as long as your gateway for new smaller subnet has another IP address with "old" subnet as well. There are two scenarios. If computer on "old" subnet initiates connection to smaller network, it considers it locally connected, so it sends ARP request. ARP requests use MAC addresses and ignore subnet masks, so your device on smaller network still sees this request and replies "I'm here". Both ends create arp records and are able to communicate directly.
If connection is initiated by device on "new" subnet, it is little more complicated. IPs of "old" larger subnet are considered not local, so request is sent to gateway. Gateway should have "route" (i.e. network interface with old subnet mask) to larger subnet so it can pass request. After request is received by device on "old" subnet, it tries to send reply to IP which it considers to be local, so first scenario takes over, arp records are created and communication continues directly. However router is needed to establish communication.
This is somewhat grey area, so this configuration should be tested with your devices and router settings. I've tested it with linux network and everything works, but there could be problems with different software/hardware.