Hi,
What you describe can be done using just PHP (for the checks).
And for the shipping address ; the shipping structure have a feature which allow to override the shipping address.
Thanks to that, you can simply put an empty shipping address or put the address you want.
Using PHP will be quite better than the javascript ; because the address will be stored in the database.
Regards,
Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.
Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.