Most laptops come with PCMCIA (also called PC Card) slots; these are supported fine under FreeBSD. Look through your boot-up messages (using dmesg(8)) and see whether these were detected correctly (they should appear as pccard0, pccard1 etc on devices like pcic0).
FreeBSD 4.X supports 16-bit PCMCIA cards, and FreeBSD 5.X supports both 16-bit and 32-bit (“CardBus”) cards. A database of supported cards is in the file /etc/defaults/pccard.conf. Look through it, and preferably buy cards listed there. Cards not listed may also work as “generic” devices: in particular most modems (16-bit) should work fine, provided they are not winmodems (these do exist even as PC Cards, so watch out). If your card is recognised as a generic modem, note that the default pccard.conf file specifies a delay time of 10 seconds (to avoid freezes on certain modems); this may well be over-cautious for your modem, so you may want to play with it, reducing it or removing it totally.
Some parts of pccard.conf may need editing. Check the irq line, and be sure to remove any number already being used: in particular, if you have an on board sound card, remove irq 5 (otherwise you may experience hangs when you insert a card). Check also the available memory slots; if your card is not being detected, try changing it to one of the other allowed values (listed in the manual page pccardc(8)).
If it is not running already, start the pccardd(8) daemon. (To enable it at boot time, add
pccard_enable="YES"to /etc/rc.conf.) Now your cards should be detected when you insert and remove them, and you should get log messages about new devices being enabled.
There have been major changes to the pccard code (including ISA routing of interrupts, for machines where FreeBSD is not able to use the PCI BIOS) before the FreeBSD 4.4 release. If you have problems, try upgrading your system.