The transaction fee is neither static nor a percentage of the amount you transfer. It is based entirely on the size of the transaction in bytes (because a transaction is just data). Since you have no control over the transaction except for one of the outputs, you cannot determine the fee that will be paid.
It is better to send it all as one transaction rather than multiple. This is because there is some overhead bytes in a transaction that are saved by making one transaction instead of two. Furthermore, there is a cost to create a change output (as that would likely need to happen, although it will probably happen anyways) and a cost to spending that change output again when you make the second transaction. Since sending as multiple transactions will incur an extra cost, you should make just one transaction.