Você já editou o arquivo /boot/grub/menu.lst ? O grub pela linha de comando eu nunca tentei usar. Aqui em casa também estou usando Ubuntu, Slackware e Win XP. O Slack está instalado na hda7. As Entradas para o Slackware no meu menu.lst estão assim:
title Slackware, kernel 2.6.17.13
root (hd0,6)
kernel /boot/vmlinuz-2.6.17.13 root=/dev/hda7 ro vga=791
initrd /boot/initrd.gz
title Slackware, kernel 2.4.33.3
root (hd0,6)
kernel /boot/vmlinuz-ide-2.4.33.3 root=/dev/hda7 ro vga=791
No seu caso, seria algo do tipo:
title Slackware, kernel (...)
root (hd1,3)
kernel /boot/vmlinuz-(...) root=/dev/hdb4 ro
Tente isso. Também confira se o nome da imagem do kernel do Slackware está correto. E sobre as partições de swap, eu uso a mesma para o Ubuntu e Slackware, sem problemas.