Sounds like there was either something wrong with your hardware or it was really old. My shitty old wireless g dongle has to go around a corner, through two door and down a hallway and it's still fast enough to max out my internet, though my internet is only 5mbps and my actual router is a beast [http://www.netgear.com.au/home/products/networking/wifi-routers/R8000.aspx].
The annoying thing about WiFi standards is if you have a wireless n 150mbps access point and matching dongle, even at those distances you aren't going to hit close to 150mbps...you'll likely get somewhere between one half and one third (I believe the total is shared between upstream and downstream). If your download rate is less than 50mbps then even the most basic wireless n dongle (150mbps) should max it out at such a short distance (assuming you've got direct line of sight and are only using one wireless device). More devices connected simultaneously will divide the total bandwidth (unless your access point has multiple antennas in which case they can provide separate connections) and anything blocking between the wireless access point and the dongle will also have an impact. A PCI card will likely have more consistent bandwidth over longer distances however as close as you are a dongle should be sufficient.
Also keep in mind that the wireless access point your modem provides is just as important. If you've got an old wireless g network you'll barely get 20mbps even if you're rubbing up against it regardless of your wireless card.
If you need more total bandwidth then you'll need higher rated hardware, though keep in mind a single antenna 433mbps wireless ac dongle won't give you any benefit over a single antenna 150mbps wireless n dongle if you have a 600mbps wireless n access point since for wireless n each antenna can provide only 150mbps (ac provides 433mbps per antenna) so as the access point uses multiple antennas to take advantage you would need multiple antennas on your dongle.
Also while you can't connect more than one modem to your ADSL line, you can connect more routers/switches to your main modem/router, so if the issue is lack of Ethernet ports then connecting a simple Ethernet switch to your modem would be an easy way to add more wired connections.